目標の形とは
1.ボタンを縦一列に、最適なサイズにする。
2.テキストは表示しない
3.ボタンの上にマウスが置かれた際にツールチップのポップアップ
4.ツールバーの横幅をボタンのサイズと合わせる
であり、1から3までは達成できたのですが。
4の 『ツールバーの横幅をボタンのサイズと合わせる』の部分で失敗していまいます。
MoveWindow 等の関数を使用しても、恐らくWM_SIZING 等のメッセージで、サイズがロックされているためか、ボタンの総数等に影響を受けて
しまい、目標の形とはかなり違った体をなしています。
どなたか解決策をご存じありますでしょうか?
#include "comctl32.as" #include "user32.as" icx=8,4 /*ICC_BAR_CLASSES*/ InitCommonControlsEx varptr(icx) #const BTTTOTAL 10 // オブジェクトの作成 winobj "ToolbarWindow32","",0,0x50001180 /*WS_CHILD | WS_VISIBLE | CCS_VERT | TBSTYLE_LIST | TBSTYLE_TOOLTIPS*/ htb = objinfo_hwnd(stat) sendmsg htb,0x041E /*TB_BUTTONSTRUCTSIZE*/ ,20 tba = -1,0 sendmsg htb,0x0413 /*TB_ADDBITMAP*/,0,varptr(tba) sendmsg htb,0x0454 /*TB_SETEXTENDEDSTYLE*/,,0x0008 /*TBSTYLE_EX_MIXEDBUTTONS*/ repeat BTTTOTAL tx.cnt = "test"+cnt tbb(5*cnt) = cnt,cnt,0x24/*TBSTATE_WRAP|TBSTATE_ENABLED | (BTNS_BUTTON<<16)*/,0,varptr(tx.cnt) loop sendmsg htb,0x0414 /*TB_ADDBUTTONS*/,BTTTOTAL,varptr(tbb) dialog "この状態で保ちたいが少しでもサイズに触れると" MoveWindow htb,0,0,ginfo_winx,ginfo_winy,1 dialog "こうなってしまう"