Win32 API 日本語リファレンス
ホームSystem.Mmc › IToolbar

IToolbar

COM
IID43136eb9-d36c-11cf-adbc-00aa00a80033継承元IUnknown自前メソッド開始 vtbl3

メソッド 6

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT AddBitmap(INT nImages, HBITMAP hbmp, INT cxSize, INT cySize, COLORREF crMask)
nImagesINTinビットマップに含まれるイメージの数を指定する。
hbmpHBITMAPinツールバーボタン用のイメージを含むビットマップのハンドルを指定する。
cxSizeINTin各ボタンイメージの幅をピクセル単位で指定する。
cySizeINTin各ボタンイメージの高さをピクセル単位で指定する。
crMaskCOLORREFinビットマップ内で透明として扱う色を示す COLORREF 値を指定する。
vtbl 4 HRESULT AddButtons(INT nButtons, MMCBUTTON* lpButtons)
nButtonsINTin追加するボタンの数を指定する。
lpButtonsMMCBUTTON*in追加するボタンを記述する MMCBUTTON 構造体の配列へのポインタを指定する。
vtbl 5 HRESULT InsertButton(INT nIndex, MMCBUTTON* lpButton)
nIndexINTinボタンを挿入する位置を示す 0 始まりのインデックスを指定する。
lpButtonMMCBUTTON*in挿入するボタンを記述する MMCBUTTON 構造体へのポインタを指定する。
vtbl 6 HRESULT DeleteButton(INT nIndex)
nIndexINTin削除するボタンの位置を示す 0 始まりのインデックスを指定する。
vtbl 7 HRESULT GetButtonState(INT idCommand, MMC_BUTTON_STATE nState, BOOL* pState)
idCommandINTin状態を取得する対象ボタンのコマンド ID を指定する。
nStateMMC_BUTTON_STATEin取得する状態の種類(有効、押下、表示等)を示す MMC_BUTTON_STATE 値を指定する。
pStateBOOL*out指定した状態がボタンに設定されているかどうかを示す BOOL 値を受け取る。
vtbl 8 HRESULT SetButtonState(INT idCommand, MMC_BUTTON_STATE nState, BOOL bState)
idCommandINTin状態を設定する対象ボタンのコマンド ID を指定する。
nStateMMC_BUTTON_STATEin設定する状態の種類(有効、押下、表示等)を示す MMC_BUTTON_STATE 値を指定する。
bStateBOOLin指定した状態を有効にする場合は TRUE、無効にする場合は FALSE を指定する。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IToolbar "{43136EB9-D36C-11CF-ADBC-00AA00A80033}"
#usecom global IToolbar IID_IToolbar "{}"
#comfunc global IToolbar_AddBitmap       3 int,sptr,int,int,int
#comfunc global IToolbar_AddButtons      4 int,var
#comfunc global IToolbar_InsertButton    5 int,var
#comfunc global IToolbar_DeleteButton    6 int
#comfunc global IToolbar_GetButtonState  7 int,int,var
#comfunc global IToolbar_SetButtonState  8 int,int,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。