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

ITextInputPanelEventSink

COM
IID27560408-8e64-4fe1-804e-421201584b31継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

ITextInputPanel インターフェイスのイベントを処理するメソッドを定義します。

解説(Remarks)

この要素は Peninputpanel.h で宣言されています。

メソッド 12

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

vtbl 3 HRESULT InPlaceStateChanging(InPlaceState oldInPlaceState, InPlaceState newInPlaceState)

In-Place の状態が変化しようとしているときに発生します。

oldInPlaceStateInPlaceStateinInPlaceState 列挙型 で定義される、現在の状態です。
newInPlaceStateInPlaceStateinInPlaceState 列挙型 で定義される、Input Panel が変化しようとしている新しい状態です。

戻り値

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

戻り値 説明
S_OK
成功しました。
E_FAIL
不特定のエラーが発生しました。
vtbl 4 HRESULT InPlaceStateChanged(InPlaceState oldInPlaceState, InPlaceState newInPlaceState)

In-Place の状態が変化したときに発生します。

oldInPlaceStateInPlaceStateinInPlaceState 列挙型 で定義される、現在の状態です。
newInPlaceStateInPlaceStateinInPlaceState 列挙型 で定義される、Input Panel が変化した後の新しい状態です。

戻り値

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

戻り値 説明
S_OK
成功しました。
E_FAIL
不特定のエラーが発生しました。
vtbl 5 HRESULT InPlaceSizeChanging(RECT oldBoundingRectangle, RECT newBoundingRectangle)

ユーザーによるサイズ変更、自動拡大、または入力領域の変更によって、in-place の Input Panel のサイズが変化しようとしているときに発生します。

oldBoundingRectangleRECTinInput Panel の現在のサイズを表す境界矩形です。
newBoundingRectangleRECTinInput Panel の新しいサイズを表す境界矩形です。

戻り値

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

戻り値 説明
S_OK
成功しました。
E_FAIL
不特定のエラーが発生しました。

解説(Remarks)

Input Panel のサイズが変化する要因には、画面解像度や DPI 設定の変更、タブレット画面の回転、入力言語の変更、ユーザーによる Input Panel の明示的なサイズ変更、テーマの変更などがあります。

vtbl 6 HRESULT InPlaceSizeChanged(RECT oldBoundingRectangle, RECT newBoundingRectangle)

ユーザーによるサイズ変更、自動拡大、または入力領域の変更によって、in-place の Input Panel のサイズが変化したときに発生します。

oldBoundingRectangleRECTinInput Panel の以前のサイズを表す境界矩形です。
newBoundingRectangleRECTinInput Panel の現在のサイズを表す境界矩形です。

戻り値

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

戻り値 説明
S_OK
成功しました。
E_FAIL
不特定のエラーが発生しました。

解説(Remarks)

Input Panel のサイズが変化する要因には、画面解像度や DPI 設定の変更、タブレット画面の回転、入力言語の変更、ユーザーによる Input Panel の明示的なサイズ変更、テーマの変更などがあります。

vtbl 7 HRESULT InputAreaChanging(PanelInputArea oldInputArea, PanelInputArea newInputArea)

Tablet PC Input Panel の入力領域が変化しようとしているときに発生します。

oldInputAreaPanelInputAreainPanelInputArea 列挙型 で定義される、現在の入力領域です。
newInputAreaPanelInputAreainPanelInputArea 列挙型 で定義される、Input Panel が変化しようとしている入力領域です。

戻り値

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

戻り値 説明
S_OK
成功しました。
E_FAIL
不特定のエラーが発生しました。
vtbl 8 HRESULT InputAreaChanged(PanelInputArea oldInputArea, PanelInputArea newInputArea)

Tablet PC Input Panel の入力領域が変化したときに発生します。

oldInputAreaPanelInputAreainPanelInputArea 列挙型 で定義される、以前の入力領域です。
newInputAreaPanelInputAreainPanelInputArea 列挙型 で定義される、現在の入力領域です。

戻り値

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

戻り値 説明
S_OK
成功しました。
E_FAIL
不特定のエラーが発生しました。
vtbl 9 HRESULT CorrectionModeChanging(CorrectionMode oldCorrectionMode, CorrectionMode newCorrectionMode)

Tablet PC Input Panel の修正コム (correction comb) のモードが変化しようとしているときに発生します。

oldCorrectionModeCorrectionModeinCorrectionMode 列挙型 で定義される、現在の修正モードです。
newCorrectionModeCorrectionModeinCorrectionMode 列挙型 で定義される、Input Panel が変化しようとしている修正モードです。

戻り値

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

戻り値 説明
S_OK
成功しました。
E_FAIL
不特定のエラーが発生しました。

解説(Remarks)

メモ Windows 7 では、このイベントは発生しなくなりました。
vtbl 10 HRESULT CorrectionModeChanged(CorrectionMode oldCorrectionMode, CorrectionMode newCorrectionMode)

Tablet PC Input Panel の修正コム (correction comb) のモードが変化したときに発生します。

oldCorrectionModeCorrectionModeinCorrectionMode 列挙型 で定義される、以前の修正モードです。
newCorrectionModeCorrectionModeinCorrectionMode 列挙型 で定義される、現在の修正モードです。

戻り値

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

戻り値 説明
S_OK
成功しました。
E_FAIL
不特定のエラーが発生しました。

解説(Remarks)

メモ Windows 7 では、このイベントは発生しなくなりました。
vtbl 11 HRESULT InPlaceVisibilityChanging(BOOL oldVisible, BOOL newVisible)

Tablet PC Input Panel の表示と非表示が切り替わろうとしているときに発生します。

oldVisibleBOOLinInput Panel が表示状態から非表示状態に変化しようとしている場合は TRUE、それ以外の場合は FALSE です。
newVisibleBOOLinInput Panel が非表示状態から表示状態に変化しようとしている場合は TRUE、それ以外の場合は FALSE です。

戻り値

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

戻り値 説明
S_OK
成功しました。
E_FAIL
不特定のエラーが発生しました。
vtbl 12 HRESULT InPlaceVisibilityChanged(BOOL oldVisible, BOOL newVisible)

Tablet PC Input Panel の表示と非表示が切り替わったときに発生します。

oldVisibleBOOLinInput Panel が表示状態から非表示状態に変化した場合は TRUE、それ以外の場合は FALSE です。
newVisibleBOOLinInput Panel が非表示状態から表示状態に変化した場合は TRUE、それ以外の場合は FALSE です。

戻り値

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

戻り値 説明
S_OK
成功しました。
E_FAIL
不特定のエラーが発生しました。
vtbl 13 HRESULT TextInserting(SAFEARRAY* Ink)

Tablet PC Input Panel が、入力フォーカスを持つコントロールにテキストを挿入しようとしているときに発生します。ユーザーが Input Panel に入力したインク (手書き) にアクセスできます。

InkSAFEARRAY*inInput Panel 内の Ink オブジェクトの配列です。

戻り値

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

戻り値 説明
S_OK
成功しました。
E_FAIL
不特定のエラーが発生しました。

解説(Remarks)

挿入時点でテキストを含んでいた Input Panel の各行に対して、少なくとも 1 つの Ink オブジェクトが存在します。

vtbl 14 HRESULT TextInserted(SAFEARRAY* Ink)

Tablet PC Input Panel が、入力フォーカスを持つコントロールにテキストを挿入したときに発生します。ユーザーが Input Panel に入力したインク (手書き) にアクセスできます。

InkSAFEARRAY*inInput Panel 内の Ink オブジェクトの配列です。

戻り値

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

戻り値 説明
S_OK
成功しました。
E_FAIL
不特定のエラーが発生しました。

解説(Remarks)

挿入時点でテキストを含んでいた Input Panel の各行に対して、少なくとも 1 つの Ink オブジェクトが存在します。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_ITextInputPanelEventSink "{27560408-8E64-4FE1-804E-421201584B31}"
#usecom global ITextInputPanelEventSink IID_ITextInputPanelEventSink "{}"
#comfunc global ITextInputPanelEventSink_InPlaceStateChanging       3 int,int
#comfunc global ITextInputPanelEventSink_InPlaceStateChanged        4 int,int
#comfunc global ITextInputPanelEventSink_InPlaceSizeChanging        5 int,int
#comfunc global ITextInputPanelEventSink_InPlaceSizeChanged         6 int,int
#comfunc global ITextInputPanelEventSink_InputAreaChanging          7 int,int
#comfunc global ITextInputPanelEventSink_InputAreaChanged           8 int,int
#comfunc global ITextInputPanelEventSink_CorrectionModeChanging     9 int,int
#comfunc global ITextInputPanelEventSink_CorrectionModeChanged      10 int,int
#comfunc global ITextInputPanelEventSink_InPlaceVisibilityChanging  11 int,int
#comfunc global ITextInputPanelEventSink_InPlaceVisibilityChanged   12 int,int
#comfunc global ITextInputPanelEventSink_TextInserting              13 var
#comfunc global ITextInputPanelEventSink_TextInserted               14 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。