Win32 API 日本語リファレンス
ホームUI.Input.Ime › IImePadApplet

IImePadApplet

COM
IID5d8e643b-c3a9-11d1-afef-00805f0c8b6d継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

IImePadApplet インターフェイスは、IImePad インターフェイスを介してアプリに文字列を入力します。

メソッド 5

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

vtbl 3 HRESULT Initialize(IUnknown* lpIImePad)

IImePad インターフェイスから呼び出され、IImePadApplet を初期化します。

lpIImePadIUnknown*inIImePad へのポインター (IUnknown *)

戻り値

成功した場合は S_OK、それ以外の場合は E_FAIL

解説(Remarks)

IMEパッドのユーザーインターフェイスが作成されると、IImePad はこのメソッドを呼び出し、IImePad インターフェイスポインターを引数として設定します。アプレットはこのポインターを保存し、pIImePad->IImePad::Request メソッドの呼び出しに使用できます。

vtbl 4 HRESULT Terminate()

IMEパッドのインスタンスが終了するときに IImePad から呼び出され、IImePadApplet を終了します。

戻り値

成功した場合は S_OK、それ以外の場合は E_FAIL

vtbl 5 HRESULT GetAppletConfig(IMEAPPLETCFG* lpAppletCfg)
lpAppletCfgIMEAPPLETCFG*inoutアプレットの構成情報(IMEAPPLETCFG)を受け取る。
vtbl 6 HRESULT CreateUI(HWND hwndParent, IMEAPPLETUI* lpImeAppletUI)

IImePad から呼び出され、アプレットのウィンドウハンドル、スタイル、サイズを取得します。

hwndParentHWNDinIImePad GUI のウィンドウハンドル。アプレットは、このウィンドウの子ウィンドウとして自身のウィンドウを作成できます。
lpImeAppletUIIMEAPPLETUI*inoutIMEAPPLETUI 構造体へのポインター。アプレットは自身のウィンドウスタイルを設定できます。

戻り値

成功した場合は S_OK、それ以外の場合は E_FAIL

vtbl 7 HRESULT Notify(IUnknown* lpImePad, INT notify, WPARAM wParam, LPARAM lParam)

IImePad から呼び出され、通知コードとともに情報を渡します。

lpImePadIUnknown*inIUnknown インターフェイスのポインター。IImePad インターフェイスポインターを取得するには、QueryInterface を使用します。
notifyINTinIImePadApplet の通知コード。指定可能なコードについては「解説」を参照してください。
wParamWPARAMinnotify に固有の追加情報。
lParamLPARAMinnotify に固有の追加情報。

戻り値

成功した場合は S_OK、それ以外の場合は E_FAIL

解説(Remarks)

指定可能な通知コード (IMEPN_* 値)

コード 説明
IMEPN_ACTIVATE アプレットがアクティブ化されます。
IMEPN_INACTIVATE アプレットが非アクティブ化されます。
IMEPN_SHOW IMEパッドとアプレットが表示されます。
IMEPN_HIDE IMEパッドとアプレットが非表示になります。
IMEPN_SIZECHANGING アプレットのサイズが変更されようとしています。
IMEPN_SIZECHANGED アプレットのサイズが変更されました。
IMEPN_CONFIG IMEパッドメニューでアプレットの設定が選択されます。
IMEPN_HELP IMEパッドメニューでアプレットのヘルプが選択されます。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

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

出力引数:
#define global IID_IImePadApplet "{5D8E643B-C3A9-11D1-AFEF-00805F0C8B6D}"
#usecom global IImePadApplet IID_IImePadApplet "{}"
#comfunc global IImePadApplet_Initialize       3 sptr
#comfunc global IImePadApplet_Terminate        4
#comfunc global IImePadApplet_GetAppletConfig  5 var
#comfunc global IImePadApplet_CreateUI         6 sptr,var
#comfunc global IImePadApplet_Notify           7 sptr,int,sptr,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。