ホーム › System.Mmc › IToolbar
IToolbar
COMメソッド 6
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| nImages | INT | in | ビットマップに含まれるイメージの数を指定する。 |
| hbmp | HBITMAP | in | ツールバーボタン用のイメージを含むビットマップのハンドルを指定する。 |
| cxSize | INT | in | 各ボタンイメージの幅をピクセル単位で指定する。 |
| cySize | INT | in | 各ボタンイメージの高さをピクセル単位で指定する。 |
| crMask | COLORREF | in | ビットマップ内で透明として扱う色を示す COLORREF 値を指定する。 |
| nButtons | INT | in | 追加するボタンの数を指定する。 |
| lpButtons | MMCBUTTON* | in | 追加するボタンを記述する MMCBUTTON 構造体の配列へのポインタを指定する。 |
| nIndex | INT | in | ボタンを挿入する位置を示す 0 始まりのインデックスを指定する。 |
| lpButton | MMCBUTTON* | in | 挿入するボタンを記述する MMCBUTTON 構造体へのポインタを指定する。 |
| nIndex | INT | in | 削除するボタンの位置を示す 0 始まりのインデックスを指定する。 |
vtbl 7 HRESULT GetButtonState(INT idCommand, MMC_BUTTON_STATE nState, BOOL* pState)
| idCommand | INT | in | 状態を取得する対象ボタンのコマンド ID を指定する。 |
| nState | MMC_BUTTON_STATE | in | 取得する状態の種類(有効、押下、表示等)を示す MMC_BUTTON_STATE 値を指定する。 |
| pState | BOOL* | out | 指定した状態がボタンに設定されているかどうかを示す BOOL 値を受け取る。 |
vtbl 8 HRESULT SetButtonState(INT idCommand, MMC_BUTTON_STATE nState, BOOL bState)
| idCommand | INT | in | 状態を設定する対象ボタンのコマンド ID を指定する。 |
| nState | MMC_BUTTON_STATE | in | 設定する状態の種類(有効、押下、表示等)を示す MMC_BUTTON_STATE 値を指定する。 |
| bState | BOOL | in | 指定した状態を有効にする場合は 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 指定が可能。#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,sptr #comfunc global IToolbar_InsertButton 5 int,sptr #comfunc global IToolbar_DeleteButton 6 int #comfunc global IToolbar_GetButtonState 7 int,int,sptr #comfunc global IToolbar_SetButtonState 8 int,int,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。