TBBUTTON

ツールバーのボタンの情報が格納されます。

typedef struct _TBBUTTON {
    int   iBitmap;        // ビットマップのインデックス
    int   idCommand;      // コマンドID
    BYTE  fsState;        // ボタンの状態
    BYTE  fsStyle;        // ボタンのスタイル
    BYTE  bReserved[2]    // 予約(= 0 )
    DWORD_PTR dwData;     // アプリケーション定義値
    INT_PTR   iString;    // テキストのインデックス
} TBBUTTON, NEAR* PTBBUTTON, FAR* LPTBBUTTON;

メンバ

iBitmap

0 から始まるボタンイメージのインデックスが格納されます。このメンバに -1 (I_IMAGECALLBACK) を指定すると、ツールバーはイメージインデックスが必要になったときにインデックスを取得するために TBN_GETDISPINFO 通知メッセージを送ります。

Version 5.81 以降: -2 (I_IMAGENONE) を指定すると、イメージを持たないボタンになります。ビットマップを表示するスペースを持たず、テキストのみになります。

ボタンがセパレータの場合(fsStyle メンバに BTNS_SEP が設定されている場合)は、このメンバにはセパレータの幅がピクセル単位で指定されます。

idCommand

ボタンに関連付けられるコマンド ID が格納されます。このコマンド ID は、このボタンが押されたときに WM_COMMAND メッセージの中で使用されます。

fsState

ツールバーのボタンの状態を表す値が格納されます。

fsStyle

ツールバーのボタンのスタイルを表す値が格納されます。

bReserved

予約されています。 0 を指定しなければなりません。

dwData

アプリケーションによって定義された値が格納されます。

iString

0 から始まるボタンテキストのインデックスが格納されます。または、ボタンテキストが格納されたバッファのアドレスが格納されます。

対応情報

Windows 95 以降 / Windows 3.51 以降

変数との対応

HSP 変数 メンバ
メンバ名 オフセット サイズ
tbb.0 iBitmap 0 4
tbb.1 idCommand 4 4
tbb.2 1バイト目 fsState 8 1
2バイト目 fsStyle 9 1
3バイト目 bReserved[0] 10 1
4バイト目 bReserved[1] 11 1
tbb.3 dwData 12 4
tbb.4 iString 16 4

fsState, fsStyle メンバにデータを書き込むには、

tbb.2 = fsState & ( fsStyle << 8 )
;  poke tbb, 8, fsState
;  poke tbb, 9, fsStyle
;  としてもよい

fsState, fsStyle メンバからデータを読み出すには、

fsState = tbb.2 & $FF
fsStyle = ( tbb.2 >> 8 ) & $FF
;  peek fsState, tbb, 8
;  peek fsStyle, tbb, 9
;  としてもよい