Win32 API 日本語リファレンス
ホームUI.Controls.RichEdit › ITextServices

ITextServices

COM
継承元IUnknown自前メソッド開始 vtbl3

メソッド 18

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

vtbl 3 HRESULT TxSendMessage(DWORD msg, WPARAM wparam, LPARAM lparam, LRESULT* plresult)
msgDWORDinテキストサービスへ送信するウィンドウメッセージの識別子を指定する。
wparamWPARAMinメッセージの wParam を指定する。
lparamLPARAMinメッセージの lParam を指定する。
plresultLRESULT*inoutメッセージ処理の結果を受け取るポインタである。
vtbl 4 HRESULT TxDraw(DVASPECT dwDrawAspect, INT lindex, void* pvAspect, DVTARGETDEVICE* ptd, HDC hdcDraw, HDC hicTargetDev, RECTL* lprcBounds, RECTL* lprcWBounds, RECT* lprcUpdate, INT_PTR pfnContinue, DWORD dwContinue, INT lViewId)
dwDrawAspectDVASPECTin描画する表示の側面(DVASPECT)を指定する。
lindexINTin描画する部分のインデックスを指定する。
pvAspectvoid*inout表示の追加情報へのポインタである。通常は NULL を指定する。
ptdDVTARGETDEVICE*inout対象デバイスを記述する DVTARGETDEVICE へのポインタである。NULL を指定可能である。
hdcDrawHDCin描画先のデバイスコンテキストハンドルを指定する。
hicTargetDevHDCin対象デバイスの情報コンテキストハンドルを指定する。
lprcBoundsRECTL*inout描画領域の境界矩形を指定する。
lprcWBoundsRECTL*inoutメタファイル描画時のウィンドウ範囲矩形を指定する。
lprcUpdateRECT*inout更新が必要な矩形を指定する。NULL を指定可能である。
pfnContinueINT_PTRin描画を継続するかを判定するコールバック関数へのポインタである。
dwContinueDWORDin継続判定コールバックに渡す値を指定する。
lViewIdINTin描画対象のビュー識別子を指定する。
vtbl 5 HRESULT TxGetHScroll(INT* plMin, INT* plMax, INT* plPos, INT* plPage, BOOL* pfEnabled)
plMinINT*inout水平スクロール範囲の最小値を受け取るポインタである。
plMaxINT*inout水平スクロール範囲の最大値を受け取るポインタである。
plPosINT*inout水平スクロールの現在位置を受け取るポインタである。
plPageINT*inout水平スクロールの1ページ分のサイズを受け取るポインタである。
pfEnabledBOOL*inout水平スクロールバーが有効かどうかを受け取るポインタである。
vtbl 6 HRESULT TxGetVScroll(INT* plMin, INT* plMax, INT* plPos, INT* plPage, BOOL* pfEnabled)
plMinINT*inout垂直スクロール範囲の最小値を受け取るポインタである。
plMaxINT*inout垂直スクロール範囲の最大値を受け取るポインタである。
plPosINT*inout垂直スクロールの現在位置を受け取るポインタである。
plPageINT*inout垂直スクロールの1ページ分のサイズを受け取るポインタである。
pfEnabledBOOL*inout垂直スクロールバーが有効かどうかを受け取るポインタである。
vtbl 7 HRESULT OnTxSetCursor(DVASPECT dwDrawAspect, INT lindex, void* pvAspect, DVTARGETDEVICE* ptd, HDC hdcDraw, HDC hicTargetDev, RECT* lprcClient, INT x, INT y)
dwDrawAspectDVASPECTin表示の側面(DVASPECT)を指定する。
lindexINTin対象部分のインデックスを指定する。
pvAspectvoid*inout表示の追加情報へのポインタである。通常は NULL を指定する。
ptdDVTARGETDEVICE*inout対象デバイスを記述する DVTARGETDEVICE へのポインタである。NULL を指定可能である。
hdcDrawHDCin描画先のデバイスコンテキストハンドルを指定する。
hicTargetDevHDCin対象デバイスの情報コンテキストハンドルを指定する。
lprcClientRECT*inoutクライアント領域の矩形を指定する。
xINTinカーソル位置の X 座標を指定する。
yINTinカーソル位置の Y 座標を指定する。
vtbl 8 HRESULT TxQueryHitPoint(DVASPECT dwDrawAspect, INT lindex, void* pvAspect, DVTARGETDEVICE* ptd, HDC hdcDraw, HDC hicTargetDev, RECT* lprcClient, INT x, INT y, DWORD* pHitResult)
dwDrawAspectDVASPECTin表示の側面(DVASPECT)を指定する。
lindexINTin対象部分のインデックスを指定する。
pvAspectvoid*inout表示の追加情報へのポインタである。通常は NULL を指定する。
ptdDVTARGETDEVICE*inout対象デバイスを記述する DVTARGETDEVICE へのポインタである。NULL を指定可能である。
hdcDrawHDCin描画先のデバイスコンテキストハンドルを指定する。
hicTargetDevHDCin対象デバイスの情報コンテキストハンドルを指定する。
lprcClientRECT*inoutクライアント領域の矩形を指定する。
xINTin判定する点の X 座標を指定する。
yINTin判定する点の Y 座標を指定する。
pHitResultDWORD*inout指定した点がオブジェクト内に当たったかどうかの結果を受け取るポインタである。
vtbl 9 HRESULT OnTxInPlaceActivate(RECT* prcClient)
prcClientRECT*inoutインプレースアクティブ化時のクライアント領域の矩形を指定する。
vtbl 10 HRESULT OnTxInPlaceDeactivate()
vtbl 11 HRESULT OnTxUIActivate()
vtbl 12 HRESULT OnTxUIDeactivate()
vtbl 13 HRESULT TxGetText(LPWSTR* pbstrText)
pbstrTextLPWSTR*inoutテキストサービスが保持するテキストを受け取る BSTR を受け取るポインタである。
vtbl 14 HRESULT TxSetText(LPWSTR pszText)
pszTextLPWSTRin設定するテキストの文字列を指定する。
vtbl 15 HRESULT TxGetCurTargetX(INT* param0)
param0INT*inout現在のターゲット X 位置を受け取るポインタである。
vtbl 16 HRESULT TxGetBaseLinePos(INT* param0)
param0INT*inoutベースラインの位置を受け取るポインタである。
vtbl 17 HRESULT TxGetNaturalSize(DWORD dwAspect, HDC hdcDraw, HDC hicTargetDev, DVTARGETDEVICE* ptd, DWORD dwMode, SIZE* psizelExtent, INT* pwidth, INT* pheight)
dwAspectDWORDinサイズを取得する表示の側面を指定する。
hdcDrawHDCin描画先のデバイスコンテキストハンドルを指定する。
hicTargetDevHDCin対象デバイスの情報コンテキストハンドルを指定する。
ptdDVTARGETDEVICE*inout対象デバイスを記述する DVTARGETDEVICE へのポインタである。NULL を指定可能である。
dwModeDWORDinサイズ計算のモードを指定する。
psizelExtentSIZE*in表示範囲を指定する SIZE 構造体へのポインタである。
pwidthINT*inout推奨される幅を渡し、結果の幅を受け取るポインタである。
pheightINT*inout推奨される高さを渡し、結果の高さを受け取るポインタである。
vtbl 18 HRESULT TxGetDropTarget(IDropTarget** ppDropTarget)
ppDropTargetIDropTarget**outテキストサービスのドロップターゲットインターフェイスを受け取るポインタである。
vtbl 19 HRESULT OnTxPropertyBitsChange(DWORD dwMask, DWORD dwBits)
dwMaskDWORDin変更されたプロパティビットを示すマスクを指定する。
dwBitsDWORDin新しいプロパティビットの値を指定する。
vtbl 20 HRESULT TxGetCachedSize(DWORD* pdwWidth, DWORD* pdwHeight)
pdwWidthDWORD*inoutキャッシュされた幅を受け取るポインタである。
pdwHeightDWORD*inoutキャッシュされた高さを受け取るポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_ITextServices "{}"
#usecom global ITextServices IID_ITextServices "{}"
#comfunc global ITextServices_TxSendMessage           3 int,sptr,sptr,var
#comfunc global ITextServices_TxDraw                  4 int,int,sptr,var,sptr,sptr,var,var,var,sptr,int,int
#comfunc global ITextServices_TxGetHScroll            5 var,var,var,var,var
#comfunc global ITextServices_TxGetVScroll            6 var,var,var,var,var
#comfunc global ITextServices_OnTxSetCursor           7 int,int,sptr,var,sptr,sptr,var,int,int
#comfunc global ITextServices_TxQueryHitPoint         8 int,int,sptr,var,sptr,sptr,var,int,int,var
#comfunc global ITextServices_OnTxInPlaceActivate     9 var
#comfunc global ITextServices_OnTxInPlaceDeactivate   10
#comfunc global ITextServices_OnTxUIActivate          11
#comfunc global ITextServices_OnTxUIDeactivate        12
#comfunc global ITextServices_TxGetText               13 var
#comfunc global ITextServices_TxSetText               14 wstr
#comfunc global ITextServices_TxGetCurTargetX         15 var
#comfunc global ITextServices_TxGetBaseLinePos        16 var
#comfunc global ITextServices_TxGetNaturalSize        17 int,sptr,sptr,var,int,var,var,var
#comfunc global ITextServices_TxGetDropTarget         18 sptr
#comfunc global ITextServices_OnTxPropertyBitsChange  19 int,int
#comfunc global ITextServices_TxGetCachedSize         20 var,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。