2010年7月 2日 13:47

Win32::GUIのToolbarにAddButtonsする

よく、

$ToolBar->AddButtons(
    3,
    0, 1, 4, 0, 0,
    1, 2, 4, 0, 1,
    2, 3, 4, 0, 2,
);

なんてやってるソースを見かけますが、それぞれの数字が何を表してるのか覚え書き。

↑のソースで言うと、1行目の「3」がボタンの数、
2行目以降はそれぞれのボタンの設定となる。
それぞれ5つのパラメータから成り、左から順に

bitmap, id, state, style, string

となる。

bitmapは、ImageListのゼロベースのインデックス。

idは、それぞれボタンに割り当てるユニークな数字。

stateは、ボタンの状態設定で、下記のようなものがあり。
     1 TBSTATE_CHECKED
     2 TBSTATE_PRESSED
     4 TBSTATE_ENABLED
     8 TBSTATE_HIDDEN
    16 TBSTATE_INDETERMINATE
    32 TBSTATE_WRAP
    64 TBSTATE_ELLIPSES

styleはボタンのデザイン設定で、下記のようなものがあり。

     0 TBSTYLE_BUTTON
     1 TBSTYLE_SEP
     2 TBSTYLE_CHECK
     4 TBSTYLE_GROUP
     8 TBSTYLE_DROPDOWN
   256 TBSTYLE_TOOLTIPS
   512 TBSTYLE_WRAPABLE
  1024 TBSTYLE_ALTDRAG
  2048 TBSTYLE_FLAT
  4096 TBSTYLE_LIST
  8192 TBSTYLE_CUSTOMERASE

stringは、AddStringした文字のゼロベースのインデックス。