Win32 API 日本語リファレンス
ホームUI.Ribbon › IUIFramework

IUIFramework

COM
IIDf4f0385d-6872-43a8-ad09-4c339cb3f5c5継承元IUnknown自前メソッド開始 vtbl3

メソッド 9

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

vtbl 3 HRESULT Initialize(HWND frameWnd, IUIApplication* application)
frameWndHWNDinリボンをホストするフレームウィンドウのハンドルである。
applicationIUIApplication*inフレームワークからのコールバックを受け取るアプリケーション側の IUIApplication へのポインタである。
vtbl 4 HRESULT Destroy()
vtbl 5 HRESULT LoadUI(HINSTANCE instance, LPWSTR resourceName)
instanceHINSTANCEinコンパイル済みリボンリソースを含むモジュールのインスタンスハンドルである。
resourceNameLPWSTRin読み込むリボンマークアップリソースの名前を指定する。
vtbl 6 HRESULT GetView(DWORD viewId, GUID* riid, void** ppv)
viewIdDWORDin取得するビューを識別する ID を指定する。
riidGUID*in要求するインターフェイスの識別子(IID)へのポインタである。
ppvvoid**out取得したビューインターフェイスへのポインタを受け取る出力ポインタである。
vtbl 7 HRESULT GetUICommandProperty(DWORD commandId, PROPERTYKEY* key, PROPVARIANT* value)
commandIdDWORDinプロパティを取得する対象コマンドの ID を指定する。
keyPROPERTYKEY*in取得するプロパティを識別する PROPERTYKEY へのポインタである。
valuePROPVARIANT*out取得したプロパティの値を受け取る PROPVARIANT へのポインタである。
vtbl 8 HRESULT SetUICommandProperty(DWORD commandId, PROPERTYKEY* key, PROPVARIANT* value)
commandIdDWORDinプロパティを設定する対象コマンドの ID を指定する。
keyPROPERTYKEY*in設定するプロパティを識別する PROPERTYKEY へのポインタである。
valuePROPVARIANT*inコマンドに設定するプロパティの値を保持する PROPVARIANT へのポインタである。
vtbl 9 HRESULT InvalidateUICommand(DWORD commandId, UI_INVALIDATIONS flags, PROPERTYKEY* key)
commandIdDWORDin無効化(再描画)対象とするコマンドの ID を指定する。
flagsUI_INVALIDATIONSin無効化する内容(プロパティ、値、状態など)を示す UI_INVALIDATIONS フラグを指定する。
keyPROPERTYKEY*inoptional無効化する特定のプロパティを識別する PROPERTYKEY へのポインタである。NULL の場合は対象を限定しない。
vtbl 10 HRESULT FlushPendingInvalidations()
vtbl 11 HRESULT SetModes(INT iModes)
iModesINTin有効にするリボンのアプリケーションモードのビットマスクを指定する。

HSP用 COM定義

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

出力引数:
#define global IID_IUIFramework "{F4F0385D-6872-43A8-AD09-4C339CB3F5C5}"
#usecom global IUIFramework IID_IUIFramework "{}"
#comfunc global IUIFramework_Initialize                 3 sptr,sptr
#comfunc global IUIFramework_Destroy                    4
#comfunc global IUIFramework_LoadUI                     5 sptr,wstr
#comfunc global IUIFramework_GetView                    6 int,var,sptr
#comfunc global IUIFramework_GetUICommandProperty       7 int,var,var
#comfunc global IUIFramework_SetUICommandProperty       8 int,var,var
#comfunc global IUIFramework_InvalidateUICommand        9 int,int,var
#comfunc global IUIFramework_FlushPendingInvalidations  10
#comfunc global IUIFramework_SetModes                   11 int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。