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

ITextStrings

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IIDc241f5e7-7206-11d8-a2c7-00a0d1d6c6b3継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

メソッド 17

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 7 HRESULT Item(INT Index, ITextRange2** ppRange)
IndexINTin取得する文字列のインデックス(1 始まり)を指定する。
ppRangeITextRange2**out指定文字列に対応する ITextRange2 を受け取る。
vtbl 8 HRESULT GetCount(INT* pCount)
pCountINT*outコレクション内の文字列数を受け取る。
vtbl 9 HRESULT Add(LPWSTR bstr)
bstrLPWSTRinコレクションに追加する文字列(BSTR)を指定する。
vtbl 10 HRESULT Append(ITextRange2* pRange, INT iString)
pRangeITextRange2*inoptional追記先のテキスト範囲(ITextRange2)へのポインタである。
iStringINTin追記する文字列のインデックスを指定する。
vtbl 11 HRESULT Cat2(INT iString)
iStringINTin連結する文字列のインデックスを指定する。
vtbl 12 HRESULT CatTop2(LPWSTR bstr)
bstrLPWSTRinスタック先頭の文字列に連結する文字列(BSTR)を指定する。
vtbl 13 HRESULT DeleteRange(ITextRange2* pRange)
pRangeITextRange2*inoptional削除対象のテキスト範囲(ITextRange2)へのポインタである。
vtbl 14 HRESULT EncodeFunction(INT Type, INT Align, INT Char, INT Char1, INT Char2, INT Count, INT TeXStyle, INT cCol, ITextRange2* pRange)
TypeINTinエンコードする数式関数の種別を指定する。
AlignINTin位置揃えの方法を指定する。
CharINTin対象とする文字を指定する。
Char1INTin補助文字 1 を指定する。
Char2INTin補助文字 2 を指定する。
CountINTin対象とする引数の個数を指定する。
TeXStyleINTinTeX スタイルを示す値を指定する。
cColINTin列数を指定する。
pRangeITextRange2*inoptional対象のテキスト範囲(ITextRange2)へのポインタである。
vtbl 15 HRESULT GetCch(INT iString, INT* pcch)
iStringINTin対象文字列のインデックスを指定する。
pcchINT*out文字列の文字数を受け取る。
vtbl 16 HRESULT InsertNullStr(INT iString)
iStringINTinNULL 文字列を挿入する位置のインデックスを指定する。
vtbl 17 HRESULT MoveBoundary(INT iString, INT cch)
iStringINTin境界を移動する対象文字列のインデックスを指定する。
cchINTin移動する文字数を指定する。
vtbl 18 HRESULT PrefixTop(LPWSTR bstr)
bstrLPWSTRinスタック先頭の文字列の前に付加する文字列(BSTR)を指定する。
vtbl 19 HRESULT Remove(INT iString, INT cString)
iStringINTin削除を開始する文字列のインデックスを指定する。
cStringINTin削除する文字列の個数を指定する。
vtbl 20 HRESULT SetFormattedText(ITextRange2* pRangeD, ITextRange2* pRangeS)
pRangeDITextRange2*inoptionalコピー先のテキスト範囲(ITextRange2)へのポインタである。
pRangeSITextRange2*inoptionalコピー元のテキスト範囲(ITextRange2)へのポインタである。
vtbl 21 HRESULT SetOpCp(INT iString, INT cp)
iStringINTin対象文字列のインデックスを指定する。
cpINTin設定する操作用文字位置(cp)を指定する。
vtbl 22 HRESULT SuffixTop(LPWSTR bstr, ITextRange2* pRange)
bstrLPWSTRinスタック先頭の文字列の後に付加する文字列(BSTR)を指定する。
pRangeITextRange2*inoptional対象のテキスト範囲(ITextRange2)へのポインタである。
vtbl 23 HRESULT Swap()

HSP用 COM定義

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

出力引数:
#define global IID_ITextStrings "{C241F5E7-7206-11D8-A2C7-00A0D1D6C6B3}"
#usecom global ITextStrings IID_ITextStrings "{}"
#comfunc global ITextStrings_Item              7 int,sptr
#comfunc global ITextStrings_GetCount          8 var
#comfunc global ITextStrings_Add               9 wstr
#comfunc global ITextStrings_Append            10 sptr,int
#comfunc global ITextStrings_Cat2              11 int
#comfunc global ITextStrings_CatTop2           12 wstr
#comfunc global ITextStrings_DeleteRange       13 sptr
#comfunc global ITextStrings_EncodeFunction    14 int,int,int,int,int,int,int,int,sptr
#comfunc global ITextStrings_GetCch            15 int,var
#comfunc global ITextStrings_InsertNullStr     16 int
#comfunc global ITextStrings_MoveBoundary      17 int,int
#comfunc global ITextStrings_PrefixTop         18 wstr
#comfunc global ITextStrings_Remove            19 int,int
#comfunc global ITextStrings_SetFormattedText  20 sptr,sptr
#comfunc global ITextStrings_SetOpCp           21 int,int
#comfunc global ITextStrings_SuffixTop         22 wstr,sptr
#comfunc global ITextStrings_Swap              23
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。