ホーム › UI.TextServices › ITfRange
ITfRange
COMメソッド 22
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| ec | DWORD | in | 読み取りアクセスが許可された編集クッキーを指定する。 |
| dwFlags | DWORD | in | テキスト取得の動作を制御するフラグを指定する。TF_TF_MOVESTART を指定すると取得後に開始位置を移動する。 |
| pchText | LPWSTR | out | 取得したテキストを格納するバッファへのポインタである。 |
| cchMax | DWORD | in | pchText バッファに格納できる最大文字数を指定する。 |
| pcch | DWORD* | out | 実際にバッファへ書き込まれた文字数を受け取るポインタである。 |
| ec | DWORD | in | 書き込みアクセスが許可された編集クッキーを指定する。 |
| dwFlags | DWORD | in | テキスト設定の動作を制御するフラグを指定する。TF_ST_CORRECTION を指定すると修正として扱う。 |
| pchText | LPWSTR | in | 範囲に設定する Unicode テキストへのポインタである。範囲を空にする場合は NULL を指定する。 |
| cch | INT | in | pchText のテキスト長を文字数で指定する。 |
vtbl 5 HRESULT GetFormattedText(DWORD ec, IDataObject** ppDataObject)
| ec | DWORD | in | 読み取りアクセスが許可された編集クッキーを指定する。 |
| ppDataObject | IDataObject** | out | 範囲の書式付きテキストを保持する IDataObject インターフェイスを受け取るポインタである。 |
| ec | DWORD | in | 読み取りアクセスが許可された編集クッキーを指定する。 |
| rguidService | GUID* | in | 取得対象の埋め込みオブジェクトのサービスを識別する GUID へのポインタである。 |
| riid | GUID* | in | 取得するオブジェクトのインターフェイス識別子 (IID) へのポインタである。 |
| ppunk | IUnknown** | out | 要求したインターフェイスを持つ埋め込みオブジェクトを受け取るポインタである。 |
vtbl 7 HRESULT InsertEmbedded(DWORD ec, DWORD dwFlags, IDataObject* pDataObject)
| ec | DWORD | in | 書き込みアクセスが許可された編集クッキーを指定する。 |
| dwFlags | DWORD | in | 埋め込みオブジェクト挿入の動作を制御するフラグを指定する。 |
| pDataObject | IDataObject* | in | 挿入する埋め込みオブジェクトのデータを保持する IDataObject へのポインタである。 |
vtbl 8 HRESULT ShiftStart(DWORD ec, INT cchReq, INT* pcch, TF_HALTCOND* pHalt)
| ec | DWORD | in | 読み取りアクセスが許可された編集クッキーを指定する。 |
| cchReq | INT | in | 範囲の開始位置を移動する文字数を指定する。正の値で後方、負の値で前方へ移動する。 |
| pcch | INT* | out | 実際に移動した文字数を受け取るポインタである。 |
| pHalt | TF_HALTCOND* | in | 移動を停止させる条件を指定する TF_HALTCOND 構造体へのポインタである。不要な場合は NULL を指定できる。 |
vtbl 9 HRESULT ShiftEnd(DWORD ec, INT cchReq, INT* pcch, TF_HALTCOND* pHalt)
| ec | DWORD | in | 読み取りアクセスが許可された編集クッキーを指定する。 |
| cchReq | INT | in | 範囲の終了位置を移動する文字数を指定する。正の値で後方、負の値で前方へ移動する。 |
| pcch | INT* | out | 実際に移動した文字数を受け取るポインタである。 |
| pHalt | TF_HALTCOND* | in | 移動を停止させる条件を指定する TF_HALTCOND 構造体へのポインタである。不要な場合は NULL を指定できる。 |
| ec | DWORD | in | 読み取りアクセスが許可された編集クッキーを指定する。 |
| pRange | ITfRange* | in | 開始位置の移動先を示す参照用の ITfRange へのポインタである。 |
| aPos | TfAnchor | in | pRange のどちらのアンカー (開始/終了) に合わせるかを示す TfAnchor の値である。 |
| ec | DWORD | in | 読み取りアクセスが許可された編集クッキーを指定する。 |
| pRange | ITfRange* | in | 終了位置の移動先を示す参照用の ITfRange へのポインタである。 |
| aPos | TfAnchor | in | pRange のどちらのアンカー (開始/終了) に合わせるかを示す TfAnchor の値である。 |
vtbl 12 HRESULT ShiftStartRegion(DWORD ec, TfShiftDir dir, BOOL* pfNoRegion)
| ec | DWORD | in | 読み取りアクセスが許可された編集クッキーを指定する。 |
| dir | TfShiftDir | in | リージョン境界へ移動する方向を示す TfShiftDir の値である。 |
| pfNoRegion | BOOL* | out | 移動先にリージョンが存在せず移動できなかったか否かを受け取るポインタである。 |
vtbl 13 HRESULT ShiftEndRegion(DWORD ec, TfShiftDir dir, BOOL* pfNoRegion)
| ec | DWORD | in | 読み取りアクセスが許可された編集クッキーを指定する。 |
| dir | TfShiftDir | in | リージョン境界へ移動する方向を示す TfShiftDir の値である。 |
| pfNoRegion | BOOL* | out | 移動先にリージョンが存在せず移動できなかったか否かを受け取るポインタである。 |
| ec | DWORD | in | 読み取りアクセスが許可された編集クッキーを指定する。 |
| pfEmpty | BOOL* | out | この範囲が空 (開始と終了が同一位置) であるか否かを受け取るポインタである。 |
| ec | DWORD | in | 読み取りアクセスが許可された編集クッキーを指定する。 |
| aPos | TfAnchor | in | 範囲を縮退させる基準となるアンカー位置を示す TfAnchor の値である。 |
| ec | DWORD | in | 読み取りアクセスが許可された編集クッキーを指定する。 |
| pWith | ITfRange* | in | 比較対象の ITfRange へのポインタである。 |
| aPos | TfAnchor | in | pWith のどちらのアンカーと比較するかを示す TfAnchor の値である。 |
| pfEqual | BOOL* | out | この範囲の開始位置が比較対象のアンカーと一致するか否かを受け取るポインタである。 |
| ec | DWORD | in | 読み取りアクセスが許可された編集クッキーを指定する。 |
| pWith | ITfRange* | in | 比較対象の ITfRange へのポインタである。 |
| aPos | TfAnchor | in | pWith のどちらのアンカーと比較するかを示す TfAnchor の値である。 |
| pfEqual | BOOL* | out | この範囲の終了位置が比較対象のアンカーと一致するか否かを受け取るポインタである。 |
| ec | DWORD | in | 読み取りアクセスが許可された編集クッキーを指定する。 |
| pWith | ITfRange* | in | 比較対象の ITfRange へのポインタである。 |
| aPos | TfAnchor | in | pWith のどちらのアンカーと比較するかを示す TfAnchor の値である。 |
| plResult | INT* | out | 比較結果を受け取るポインタである。負/0/正の値で前後関係を示す。 |
| ec | DWORD | in | 読み取りアクセスが許可された編集クッキーを指定する。 |
| pWith | ITfRange* | in | 比較対象の ITfRange へのポインタである。 |
| aPos | TfAnchor | in | pWith のどちらのアンカーと比較するかを示す TfAnchor の値である。 |
| plResult | INT* | out | 比較結果を受け取るポインタである。負/0/正の値で前後関係を示す。 |
| ec | DWORD | in | 書き込みアクセスが許可された編集クッキーを指定する。 |
| cchInsert | DWORD | in | 挿入を想定する文字数を指定する。 |
| pfInsertOk | BOOL* | out | この範囲への挿入が許可されるか否かを受け取るポインタである。 |
| pgStart | TfGravity* | out | 開始アンカーのグラビティ (挿入時の付着方向) を受け取る TfGravity へのポインタである。 |
| pgEnd | TfGravity* | out | 終了アンカーのグラビティ (挿入時の付着方向) を受け取る TfGravity へのポインタである。 |
| ec | DWORD | in | 書き込みアクセスが許可された編集クッキーを指定する。 |
| gStart | TfGravity | in | 開始アンカーに設定するグラビティを示す TfGravity の値である。 |
| gEnd | TfGravity | in | 終了アンカーに設定するグラビティを示す TfGravity の値である。 |
| ppClone | ITfRange** | out | この範囲と同じ位置を指す複製された ITfRange インターフェイスを受け取るポインタである。 |
vtbl 24 HRESULT GetContext(ITfContext** ppContext)
| ppContext | ITfContext** | out | この範囲が属するコンテキストを表す ITfContext インターフェイスを受け取るポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ITfRange "{AA80E7FF-2021-11D2-93E0-0060B067B86E}" #usecom global ITfRange IID_ITfRange "{}" #comfunc global ITfRange_GetText 3 int,int,var,int,var #comfunc global ITfRange_SetText 4 int,int,wstr,int #comfunc global ITfRange_GetFormattedText 5 int,sptr #comfunc global ITfRange_GetEmbedded 6 int,var,var,sptr #comfunc global ITfRange_InsertEmbedded 7 int,int,sptr #comfunc global ITfRange_ShiftStart 8 int,int,var,var #comfunc global ITfRange_ShiftEnd 9 int,int,var,var #comfunc global ITfRange_ShiftStartToRange 10 int,sptr,int #comfunc global ITfRange_ShiftEndToRange 11 int,sptr,int #comfunc global ITfRange_ShiftStartRegion 12 int,int,var #comfunc global ITfRange_ShiftEndRegion 13 int,int,var #comfunc global ITfRange_IsEmpty 14 int,var #comfunc global ITfRange_Collapse 15 int,int #comfunc global ITfRange_IsEqualStart 16 int,sptr,int,var #comfunc global ITfRange_IsEqualEnd 17 int,sptr,int,var #comfunc global ITfRange_CompareStart 18 int,sptr,int,var #comfunc global ITfRange_CompareEnd 19 int,sptr,int,var #comfunc global ITfRange_AdjustForInsert 20 int,int,var #comfunc global ITfRange_GetGravity 21 var,var #comfunc global ITfRange_SetGravity 22 int,int,int #comfunc global ITfRange_Clone 23 sptr #comfunc global ITfRange_GetContext 24 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ITfRange "{AA80E7FF-2021-11D2-93E0-0060B067B86E}" #usecom global ITfRange IID_ITfRange "{}" #comfunc global ITfRange_GetText 3 int,int,sptr,int,sptr #comfunc global ITfRange_SetText 4 int,int,wstr,int #comfunc global ITfRange_GetFormattedText 5 int,sptr #comfunc global ITfRange_GetEmbedded 6 int,sptr,sptr,sptr #comfunc global ITfRange_InsertEmbedded 7 int,int,sptr #comfunc global ITfRange_ShiftStart 8 int,int,sptr,sptr #comfunc global ITfRange_ShiftEnd 9 int,int,sptr,sptr #comfunc global ITfRange_ShiftStartToRange 10 int,sptr,int #comfunc global ITfRange_ShiftEndToRange 11 int,sptr,int #comfunc global ITfRange_ShiftStartRegion 12 int,int,sptr #comfunc global ITfRange_ShiftEndRegion 13 int,int,sptr #comfunc global ITfRange_IsEmpty 14 int,sptr #comfunc global ITfRange_Collapse 15 int,int #comfunc global ITfRange_IsEqualStart 16 int,sptr,int,sptr #comfunc global ITfRange_IsEqualEnd 17 int,sptr,int,sptr #comfunc global ITfRange_CompareStart 18 int,sptr,int,sptr #comfunc global ITfRange_CompareEnd 19 int,sptr,int,sptr #comfunc global ITfRange_AdjustForInsert 20 int,int,sptr #comfunc global ITfRange_GetGravity 21 sptr,sptr #comfunc global ITfRange_SetGravity 22 int,int,int #comfunc global ITfRange_Clone 23 sptr #comfunc global ITfRange_GetContext 24 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。