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

IMenuButton

COM
IID951ed750-d080-11d0-b197-000000000000継承元IUnknown自前メソッド開始 vtbl3

メソッド 3

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

vtbl 3 HRESULT AddButton(INT idCommand, LPWSTR lpButtonText, LPWSTR lpTooltipText)
idCommandINTin追加するメニューボタンを識別するコマンド ID を指定する。
lpButtonTextLPWSTRinボタンに表示するテキストを指定する。
lpTooltipTextLPWSTRinボタンのツールチップとして表示するテキストを指定する。
vtbl 4 HRESULT SetButton(INT idCommand, LPWSTR lpButtonText, LPWSTR lpTooltipText)
idCommandINTin更新する対象ボタンのコマンド ID を指定する。
lpButtonTextLPWSTRinボタンに新しく表示するテキストを指定する。
lpTooltipTextLPWSTRinボタンに新しく設定するツールチップテキストを指定する。
vtbl 5 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_IMenuButton "{951ED750-D080-11D0-B197-000000000000}"
#usecom global IMenuButton IID_IMenuButton "{}"
#comfunc global IMenuButton_AddButton       3 int,wstr,wstr
#comfunc global IMenuButton_SetButton       4 int,wstr,wstr
#comfunc global IMenuButton_SetButtonState  5 int,int,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。