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

ITfUIElementMgr

COM
IIDea1ea135-19df-11d7-a6d2-00065b84435c継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

ITfUIElementMgr インターフェイスは TSF マネージャーによって実装され、アプリケーションまたはテキストサービスから使用されます。アプリケーションおよびテキストサービスは、IID_ITfUIElementMgr を指定して ITfThreadMgr::QueryInterface を呼び出すことで、このインターフェイスを取得できます。

解説(Remarks)

UIElement をサポートするテキストサービスは、UI が表示、更新、または非表示になるたびに ITfUIElementMgr を呼び出す必要があります。これにより、アプリケーションは UI の表示状態を制御できます。

メソッド 5

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

vtbl 3 HRESULT BeginUIElement(ITfUIElement* pElement, BOOL* pbShow, DWORD* pdwUIElementId)

ITfUIElementMgr::BeginUIElement メソッドは、テキストサービスが UI を表示する前に呼び出します。返される値によって、テキストサービスの UI を表示すべきかどうかが決まります。

pElementITfUIElement*in[in] UIElement オブジェクトの ITfUIElement インターフェイスへのポインター。
pbShowBOOL*inout[in, out] false が返された場合、アプリケーションが自身で UI を描画することがあり、テキストサービスはこの UI 要素について独自の UI を表示しません。
pdwUIElementIdDWORD*out[out] この UI 要素の ID を受け取るポインター。

戻り値

このメソッドは次のいずれかの値を返します。

説明
S_OK
メソッドは成功しました。
E_FAIL
不特定のエラーが発生しました。
E_INVALIDARG
1 つ以上のパラメーターが無効です。
E_UNEXPECTED
ITfUIElementMgr インターフェイスの再帰呼び出しが発生しました。
vtbl 4 HRESULT UpdateUIElement(DWORD dwUIElementId)

ITfUIElementMgr::UpdateUIElement メソッドは、UI 要素を更新する必要があるときにテキストサービスから呼び出されます。

dwUIElementIdDWORDin[in] 更新する UI 要素の要素 ID。

戻り値

このメソッドは次のいずれかの値を返します。

説明
S_OK
メソッドは成功しました。
E_FAIL
不特定のエラーが発生しました。
E_INVALIDARG
1 つ以上のパラメーターが無効です。
E_UNEXPECTED
ITfUIElementMgr インターフェイスの再帰呼び出しが発生しました。
vtbl 5 HRESULT EndUIElement(DWORD dwUIElementId)

ITfUIElementMgr::EndUIElement メソッドは、UI 要素が非表示になったときにテキストサービスから呼び出されます。

dwUIElementIdDWORDin[in] 非表示にする UI 要素の要素 ID。

戻り値

このメソッドは次のいずれかの値を返します。

説明
S_OK
メソッドは成功しました。
E_FAIL
不特定のエラーが発生しました。
E_INVALIDARG
1 つ以上のパラメーターが無効です。
E_UNEXPECTED
ITfUIElementMgr インターフェイスの再帰呼び出しが発生しました。
vtbl 6 HRESULT GetUIElement(DWORD dwUIELementId, ITfUIElement** ppElement)

ITfUIElementMgr::GetUIElement メソッドは、指定した要素 ID に対応する ITfUIElement インターフェイスを取得します。

dwUIELementIdDWORDin[in] ITfUIElement インターフェイスを取得する対象の要素 ID。
ppElementITfUIElement**out[out] ITfUIElement インターフェイスを受け取るポインター。

戻り値

このメソッドは次のいずれかの値を返します。

説明
S_OK
メソッドは成功しました。
E_FAIL
不特定のエラーが発生しました。
E_INVALIDARG
1 つ以上のパラメーターが無効です。
vtbl 7 HRESULT EnumUIElements(IEnumTfUIElements** ppEnum)

ITfUIElementMgr::EnumUIElements メソッドは、ITfUIElement を列挙するための IEnumTfUIElements インターフェイスポインターを返します。

ppEnumIEnumTfUIElements**out[in] IEnumTfUIElements インターフェイスを受け取るポインター。

戻り値

このメソッドは次のいずれかの値を返します。

説明
S_OK
メソッドは成功しました。
E_FAIL
不特定のエラーが発生しました。
E_INVALIDARG
1 つ以上のパラメーターが無効です。
出典・ライセンス: 上記「公式ドキュメント」の内容は 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_ITfUIElementMgr "{EA1EA135-19DF-11D7-A6D2-00065B84435C}"
#usecom global ITfUIElementMgr IID_ITfUIElementMgr "{}"
#comfunc global ITfUIElementMgr_BeginUIElement   3 sptr,var,var
#comfunc global ITfUIElementMgr_UpdateUIElement  4 int
#comfunc global ITfUIElementMgr_EndUIElement     5 int
#comfunc global ITfUIElementMgr_GetUIElement     6 int,sptr
#comfunc global ITfUIElementMgr_EnumUIElements   7 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。