ホーム › UI.Controls.RichEdit › ITextServices
ITextServices
COMメソッド 18
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| msg | DWORD | in | テキストサービスへ送信するウィンドウメッセージの識別子を指定する。 |
| wparam | WPARAM | in | メッセージの wParam を指定する。 |
| lparam | LPARAM | in | メッセージの lParam を指定する。 |
| plresult | LRESULT* | 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)
| dwDrawAspect | DVASPECT | in | 描画する表示の側面(DVASPECT)を指定する。 |
| lindex | INT | in | 描画する部分のインデックスを指定する。 |
| pvAspect | void* | inout | 表示の追加情報へのポインタである。通常は NULL を指定する。 |
| ptd | DVTARGETDEVICE* | inout | 対象デバイスを記述する DVTARGETDEVICE へのポインタである。NULL を指定可能である。 |
| hdcDraw | HDC | in | 描画先のデバイスコンテキストハンドルを指定する。 |
| hicTargetDev | HDC | in | 対象デバイスの情報コンテキストハンドルを指定する。 |
| lprcBounds | RECTL* | inout | 描画領域の境界矩形を指定する。 |
| lprcWBounds | RECTL* | inout | メタファイル描画時のウィンドウ範囲矩形を指定する。 |
| lprcUpdate | RECT* | inout | 更新が必要な矩形を指定する。NULL を指定可能である。 |
| pfnContinue | INT_PTR | in | 描画を継続するかを判定するコールバック関数へのポインタである。 |
| dwContinue | DWORD | in | 継続判定コールバックに渡す値を指定する。 |
| lViewId | INT | in | 描画対象のビュー識別子を指定する。 |
| plMin | INT* | inout | 水平スクロール範囲の最小値を受け取るポインタである。 |
| plMax | INT* | inout | 水平スクロール範囲の最大値を受け取るポインタである。 |
| plPos | INT* | inout | 水平スクロールの現在位置を受け取るポインタである。 |
| plPage | INT* | inout | 水平スクロールの1ページ分のサイズを受け取るポインタである。 |
| pfEnabled | BOOL* | inout | 水平スクロールバーが有効かどうかを受け取るポインタである。 |
| plMin | INT* | inout | 垂直スクロール範囲の最小値を受け取るポインタである。 |
| plMax | INT* | inout | 垂直スクロール範囲の最大値を受け取るポインタである。 |
| plPos | INT* | inout | 垂直スクロールの現在位置を受け取るポインタである。 |
| plPage | INT* | inout | 垂直スクロールの1ページ分のサイズを受け取るポインタである。 |
| pfEnabled | BOOL* | inout | 垂直スクロールバーが有効かどうかを受け取るポインタである。 |
vtbl 7 HRESULT OnTxSetCursor(DVASPECT dwDrawAspect, INT lindex, void* pvAspect, DVTARGETDEVICE* ptd, HDC hdcDraw, HDC hicTargetDev, RECT* lprcClient, INT x, INT y)
| dwDrawAspect | DVASPECT | in | 表示の側面(DVASPECT)を指定する。 |
| lindex | INT | in | 対象部分のインデックスを指定する。 |
| pvAspect | void* | inout | 表示の追加情報へのポインタである。通常は NULL を指定する。 |
| ptd | DVTARGETDEVICE* | inout | 対象デバイスを記述する DVTARGETDEVICE へのポインタである。NULL を指定可能である。 |
| hdcDraw | HDC | in | 描画先のデバイスコンテキストハンドルを指定する。 |
| hicTargetDev | HDC | in | 対象デバイスの情報コンテキストハンドルを指定する。 |
| lprcClient | RECT* | inout | クライアント領域の矩形を指定する。 |
| x | INT | in | カーソル位置の X 座標を指定する。 |
| y | INT | in | カーソル位置の 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)
| dwDrawAspect | DVASPECT | in | 表示の側面(DVASPECT)を指定する。 |
| lindex | INT | in | 対象部分のインデックスを指定する。 |
| pvAspect | void* | inout | 表示の追加情報へのポインタである。通常は NULL を指定する。 |
| ptd | DVTARGETDEVICE* | inout | 対象デバイスを記述する DVTARGETDEVICE へのポインタである。NULL を指定可能である。 |
| hdcDraw | HDC | in | 描画先のデバイスコンテキストハンドルを指定する。 |
| hicTargetDev | HDC | in | 対象デバイスの情報コンテキストハンドルを指定する。 |
| lprcClient | RECT* | inout | クライアント領域の矩形を指定する。 |
| x | INT | in | 判定する点の X 座標を指定する。 |
| y | INT | in | 判定する点の Y 座標を指定する。 |
| pHitResult | DWORD* | inout | 指定した点がオブジェクト内に当たったかどうかの結果を受け取るポインタである。 |
| prcClient | RECT* | inout | インプレースアクティブ化時のクライアント領域の矩形を指定する。 |
vtbl 10 HRESULT OnTxInPlaceDeactivate()
vtbl 11 HRESULT OnTxUIActivate()
vtbl 12 HRESULT OnTxUIDeactivate()
| pbstrText | LPWSTR* | inout | テキストサービスが保持するテキストを受け取る BSTR を受け取るポインタである。 |
| pszText | LPWSTR | in | 設定するテキストの文字列を指定する。 |
| param0 | INT* | inout | 現在のターゲット X 位置を受け取るポインタである。 |
| param0 | INT* | inout | ベースラインの位置を受け取るポインタである。 |
vtbl 17 HRESULT TxGetNaturalSize(DWORD dwAspect, HDC hdcDraw, HDC hicTargetDev, DVTARGETDEVICE* ptd, DWORD dwMode, SIZE* psizelExtent, INT* pwidth, INT* pheight)
| dwAspect | DWORD | in | サイズを取得する表示の側面を指定する。 |
| hdcDraw | HDC | in | 描画先のデバイスコンテキストハンドルを指定する。 |
| hicTargetDev | HDC | in | 対象デバイスの情報コンテキストハンドルを指定する。 |
| ptd | DVTARGETDEVICE* | inout | 対象デバイスを記述する DVTARGETDEVICE へのポインタである。NULL を指定可能である。 |
| dwMode | DWORD | in | サイズ計算のモードを指定する。 |
| psizelExtent | SIZE* | in | 表示範囲を指定する SIZE 構造体へのポインタである。 |
| pwidth | INT* | inout | 推奨される幅を渡し、結果の幅を受け取るポインタである。 |
| pheight | INT* | inout | 推奨される高さを渡し、結果の高さを受け取るポインタである。 |
vtbl 18 HRESULT TxGetDropTarget(IDropTarget** ppDropTarget)
| ppDropTarget | IDropTarget** | out | テキストサービスのドロップターゲットインターフェイスを受け取るポインタである。 |
| dwMask | DWORD | in | 変更されたプロパティビットを示すマスクを指定する。 |
| dwBits | DWORD | in | 新しいプロパティビットの値を指定する。 |
| pdwWidth | DWORD* | inout | キャッシュされた幅を受け取るポインタである。 |
| pdwHeight | DWORD* | 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 指定が可能。#define global IID_ITextServices "{}" #usecom global ITextServices IID_ITextServices "{}" #comfunc global ITextServices_TxSendMessage 3 int,sptr,sptr,sptr #comfunc global ITextServices_TxDraw 4 int,int,sptr,sptr,sptr,sptr,sptr,sptr,sptr,sptr,int,int #comfunc global ITextServices_TxGetHScroll 5 sptr,sptr,sptr,sptr,sptr #comfunc global ITextServices_TxGetVScroll 6 sptr,sptr,sptr,sptr,sptr #comfunc global ITextServices_OnTxSetCursor 7 int,int,sptr,sptr,sptr,sptr,sptr,int,int #comfunc global ITextServices_TxQueryHitPoint 8 int,int,sptr,sptr,sptr,sptr,sptr,int,int,sptr #comfunc global ITextServices_OnTxInPlaceActivate 9 sptr #comfunc global ITextServices_OnTxInPlaceDeactivate 10 #comfunc global ITextServices_OnTxUIActivate 11 #comfunc global ITextServices_OnTxUIDeactivate 12 #comfunc global ITextServices_TxGetText 13 sptr #comfunc global ITextServices_TxSetText 14 wstr #comfunc global ITextServices_TxGetCurTargetX 15 sptr #comfunc global ITextServices_TxGetBaseLinePos 16 sptr #comfunc global ITextServices_TxGetNaturalSize 17 int,sptr,sptr,sptr,int,sptr,sptr,sptr #comfunc global ITextServices_TxGetDropTarget 18 sptr #comfunc global ITextServices_OnTxPropertyBitsChange 19 int,int #comfunc global ITextServices_TxGetCachedSize 20 sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。