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

ITfContextOwner

COM
IIDaa80e80c-2021-11d2-93e0-0060b067b86e継承元IUnknown自前メソッド開始 vtbl3

メソッド 6

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

vtbl 3 HRESULT GetACPFromPoint(POINT* ptScreen, DWORD dwFlags, INT* pacp)
ptScreenPOINT*inスクリーン座標で表した取得対象の点を示す POINT 構造体へのポインタである。
dwFlagsDWORDin点から文字位置を求める方法を制御するフラグを指定する。
pacpINT*out指定した点に対応する ACP (Application Character Position) の文字位置を受け取るポインタである。
vtbl 4 HRESULT GetTextExt(INT acpStart, INT acpEnd, RECT* prc, BOOL* pfClipped)
acpStartINTin外接矩形を求める範囲の開始文字位置 (ACP) を指定する。
acpEndINTin外接矩形を求める範囲の終了文字位置 (ACP) を指定する。
prcRECT*out指定範囲を囲むスクリーン座標の矩形を受け取る RECT 構造体へのポインタである。
pfClippedBOOL*outテキストがクリッピングされ矩形が一部のみを表すか否かを受け取るポインタである。
vtbl 5 HRESULT GetScreenExt(RECT* prc)
prcRECT*outドキュメント表示領域全体を囲むスクリーン座標の矩形を受け取る RECT 構造体へのポインタである。
vtbl 6 HRESULT GetStatus(TS_STATUS* pdcs)
pdcsTS_STATUS*outドキュメントの状態を受け取る TS_STATUS 構造体へのポインタである。
vtbl 7 HRESULT GetWnd(HWND* phwnd)
phwndHWND*outドキュメントを表示するウィンドウのハンドルを受け取るポインタである。
vtbl 8 HRESULT GetAttribute(GUID* rguidAttribute, VARIANT* pvarValue)
rguidAttributeGUID*in取得する属性を識別する GUID へのポインタである。
pvarValueVARIANT*out取得した属性値を受け取る VARIANT へのポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_ITfContextOwner "{AA80E80C-2021-11D2-93E0-0060B067B86E}"
#usecom global ITfContextOwner IID_ITfContextOwner "{}"
#comfunc global ITfContextOwner_GetACPFromPoint  3 var,int,var
#comfunc global ITfContextOwner_GetTextExt       4 int,int,var,var
#comfunc global ITfContextOwner_GetScreenExt     5 var
#comfunc global ITfContextOwner_GetStatus        6 var
#comfunc global ITfContextOwner_GetWnd           7 sptr
#comfunc global ITfContextOwner_GetAttribute     8 var,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。