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

ITextRange

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

メソッド 51

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

vtbl 7 HRESULT GetText(LPWSTR* pbstr)
pbstrLPWSTR*out範囲内のテキストを受け取る BSTR を受け取るポインタである。
vtbl 8 HRESULT SetText(LPWSTR bstr)
bstrLPWSTRin範囲に設定するテキストを指定する。
vtbl 9 HRESULT GetChar(INT* pChar)
pCharINT*out範囲の先頭にある文字のコードを受け取るポインタである。
vtbl 10 HRESULT SetChar(INT Char)
CharINTin範囲の先頭の文字に設定する文字コードを指定する。
vtbl 11 HRESULT GetDuplicate(ITextRange** ppRange)
ppRangeITextRange**outこの範囲を複製した新しい ITextRange を受け取るポインタである。
vtbl 12 HRESULT GetFormattedText(ITextRange** ppRange)
ppRangeITextRange**outこの範囲の書式付きテキストを表す ITextRange を受け取るポインタである。
vtbl 13 HRESULT SetFormattedText(ITextRange* pRange)
pRangeITextRange*inoptionalこの範囲に設定する書式付きテキストを持つ ITextRange を指定する。
vtbl 14 HRESULT GetStart(INT* pcpFirst)
pcpFirstINT*out範囲の開始文字位置を受け取るポインタである。
vtbl 15 HRESULT SetStart(INT cpFirst)
cpFirstINTin範囲の開始文字位置を指定する。
vtbl 16 HRESULT GetEnd(INT* pcpLim)
pcpLimINT*out範囲の終了文字位置を受け取るポインタである。
vtbl 17 HRESULT SetEnd(INT cpLim)
cpLimINTin範囲の終了文字位置を指定する。
vtbl 18 HRESULT GetFont(ITextFont** ppFont)
ppFontITextFont**out範囲の文字書式を表す ITextFont を受け取るポインタである。
vtbl 19 HRESULT SetFont(ITextFont* pFont)
pFontITextFont*inoptional範囲に適用する文字書式を持つ ITextFont を指定する。
vtbl 20 HRESULT GetPara(ITextPara** ppPara)
ppParaITextPara**out範囲の段落書式を表す ITextPara を受け取るポインタである。
vtbl 21 HRESULT SetPara(ITextPara* pPara)
pParaITextPara*inoptional範囲に適用する段落書式を持つ ITextPara を指定する。
vtbl 22 HRESULT GetStoryLength(INT* pCount)
pCountINT*out範囲が属するストーリーの文字数を受け取るポインタである。
vtbl 23 HRESULT GetStoryType(INT* pValue)
pValueINT*out範囲が属するストーリーの種類を受け取るポインタである。
vtbl 24 HRESULT Collapse(INT bStart)
bStartINTin折りたたむ方向(開始端または終了端)を指定する。
vtbl 25 HRESULT Expand(INT Unit, INT* pDelta)
UnitINTin範囲を拡張する単位(文字、単語、段落等)を指定する。
pDeltaINT*out拡張によって変化した文字数を受け取るポインタである。
vtbl 26 HRESULT GetIndex(INT Unit, INT* pIndex)
UnitINTinインデックスを取得する単位を指定する。
pIndexINT*out範囲先頭が属する要素の1から始まるインデックスを受け取るポインタである。
vtbl 27 HRESULT SetIndex(INT Unit, INT Index, INT Extend)
UnitINTin位置決めに使用する単位を指定する。
IndexINTin移動先の要素のインデックスを指定する。
ExtendINTin範囲を拡張する場合は0以外、折りたたむ場合は0を指定する。
vtbl 28 HRESULT SetRange(INT cpAnchor, INT cpActive)
cpAnchorINTin範囲のアンカー端の文字位置を指定する。
cpActiveINTin範囲のアクティブ端の文字位置を指定する。
vtbl 29 HRESULT InRange(ITextRange* pRange, INT* pValue)
pRangeITextRange*inoptional比較対象の範囲を指定する。
pValueINT*outこの範囲が比較対象の範囲内にあるかどうかを受け取るポインタである。
vtbl 30 HRESULT InStory(ITextRange* pRange, INT* pValue)
pRangeITextRange*inoptional比較対象の範囲を指定する。
pValueINT*outこの範囲が比較対象と同じストーリー内にあるかどうかを受け取るポインタである。
vtbl 31 HRESULT IsEqual(ITextRange* pRange, INT* pValue)
pRangeITextRange*inoptional比較対象の範囲を指定する。
pValueINT*out両者の範囲が等しいかどうかを受け取るポインタである。
vtbl 32 HRESULT Select()
vtbl 33 HRESULT StartOf(INT Unit, INT Extend, INT* pDelta)
UnitINTin移動の基準となる単位を指定する。
ExtendINTin範囲を拡張する場合は0以外、折りたたむ場合は0を指定する。
pDeltaINT*out移動した文字数を受け取るポインタである。
vtbl 34 HRESULT EndOf(INT Unit, INT Extend, INT* pDelta)
UnitINTin移動の基準となる単位を指定する。
ExtendINTin範囲を拡張する場合は0以外、折りたたむ場合は0を指定する。
pDeltaINT*out移動した文字数を受け取るポインタである。
vtbl 35 HRESULT Move(INT Unit, INT Count, INT* pDelta)
UnitINTin移動する単位を指定する。
CountINTin移動する単位数を指定する。負の値で前方へ移動する。
pDeltaINT*out実際に移動した単位数を受け取るポインタである。
vtbl 36 HRESULT MoveStart(INT Unit, INT Count, INT* pDelta)
UnitINTin開始端を移動する単位を指定する。
CountINTin移動する単位数を指定する。
pDeltaINT*out実際に移動した単位数を受け取るポインタである。
vtbl 37 HRESULT MoveEnd(INT Unit, INT Count, INT* pDelta)
UnitINTin終了端を移動する単位を指定する。
CountINTin移動する単位数を指定する。
pDeltaINT*out実際に移動した単位数を受け取るポインタである。
vtbl 38 HRESULT MoveWhile(VARIANT* Cset, INT Count, INT* pDelta)
CsetVARIANT*in判定に使用する文字集合を格納した VARIANT へのポインタである。
CountINTin移動する最大文字数を指定する。
pDeltaINT*out実際に移動した文字数を受け取るポインタである。
vtbl 39 HRESULT MoveStartWhile(VARIANT* Cset, INT Count, INT* pDelta)
CsetVARIANT*in判定に使用する文字集合を格納した VARIANT へのポインタである。
CountINTin開始端を移動する最大文字数を指定する。
pDeltaINT*out実際に移動した文字数を受け取るポインタである。
vtbl 40 HRESULT MoveEndWhile(VARIANT* Cset, INT Count, INT* pDelta)
CsetVARIANT*in判定に使用する文字集合を格納した VARIANT へのポインタである。
CountINTin終了端を移動する最大文字数を指定する。
pDeltaINT*out実際に移動した文字数を受け取るポインタである。
vtbl 41 HRESULT MoveUntil(VARIANT* Cset, INT Count, INT* pDelta)
CsetVARIANT*in判定に使用する文字集合を格納した VARIANT へのポインタである。
CountINTin移動する最大文字数を指定する。
pDeltaINT*out実際に移動した文字数を受け取るポインタである。
vtbl 42 HRESULT MoveStartUntil(VARIANT* Cset, INT Count, INT* pDelta)
CsetVARIANT*in判定に使用する文字集合を格納した VARIANT へのポインタである。
CountINTin開始端を移動する最大文字数を指定する。
pDeltaINT*out実際に移動した文字数を受け取るポインタである。
vtbl 43 HRESULT MoveEndUntil(VARIANT* Cset, INT Count, INT* pDelta)
CsetVARIANT*in判定に使用する文字集合を格納した VARIANT へのポインタである。
CountINTin終了端を移動する最大文字数を指定する。
pDeltaINT*out実際に移動した文字数を受け取るポインタである。
vtbl 44 HRESULT FindText(LPWSTR bstr, INT Count, tomConstants Flags, INT* pLength)
bstrLPWSTRin検索する文字列を指定する。
CountINTin検索する文字数の範囲を指定する。
FlagstomConstantsin検索方法を制御するフラグを指定する。
pLengthINT*out見つかった文字列の長さを受け取るポインタである。
vtbl 45 HRESULT FindTextStart(LPWSTR bstr, INT Count, tomConstants Flags, INT* pLength)
bstrLPWSTRin検索する文字列を指定する。
CountINTin開始位置から検索する文字数の範囲を指定する。
FlagstomConstantsin検索方法を制御するフラグを指定する。
pLengthINT*out見つかった文字列の長さを受け取るポインタである。
vtbl 46 HRESULT FindTextEnd(LPWSTR bstr, INT Count, tomConstants Flags, INT* pLength)
bstrLPWSTRin検索する文字列を指定する。
CountINTin終了位置から検索する文字数の範囲を指定する。
FlagstomConstantsin検索方法を制御するフラグを指定する。
pLengthINT*out見つかった文字列の長さを受け取るポインタである。
vtbl 47 HRESULT Delete(INT Unit, INT Count, INT* pDelta)
UnitINTin削除する単位を指定する。
CountINTin削除する単位数を指定する。
pDeltaINT*out実際に削除された単位数を受け取るポインタである。
vtbl 48 HRESULT Cut(VARIANT* pVar)
pVarVARIANT*out切り取ったデータを受け取る VARIANT へのポインタである。
vtbl 49 HRESULT Copy(VARIANT* pVar)
pVarVARIANT*outコピーしたデータを受け取る VARIANT へのポインタである。
vtbl 50 HRESULT Paste(VARIANT* pVar, INT Format)
pVarVARIANT*in貼り付けるデータを格納した VARIANT へのポインタである。NULL を指定するとクリップボードから貼り付ける。
FormatINTin貼り付けるデータの形式を指定する。
vtbl 51 HRESULT CanPaste(VARIANT* pVar, INT Format, INT* pValue)
pVarVARIANT*in貼り付け可否を判定するデータを格納した VARIANT へのポインタである。NULL を指定するとクリップボードを対象とする。
FormatINTin判定するデータの形式を指定する。
pValueINT*out貼り付け可能かどうかを受け取るポインタである。
vtbl 52 HRESULT CanEdit(INT* pValue)
pValueINT*out範囲が編集可能かどうかを受け取るポインタである。
vtbl 53 HRESULT ChangeCase(tomConstants Type)
TypetomConstantsin適用する大文字小文字変換の種類を指定する。
vtbl 54 HRESULT GetPoint(tomConstants Type, INT* px, INT* py)
TypetomConstantsin取得する位置の基準を示す値を指定する。
pxINT*out対応するスクリーン座標の X 座標を受け取るポインタである。
pyINT*out対応するスクリーン座標の Y 座標を受け取るポインタである。
vtbl 55 HRESULT SetPoint(INT x, INT y, tomConstants Type, INT Extend)
xINTin範囲を設定するスクリーン座標の X 座標を指定する。
yINTin範囲を設定するスクリーン座標の Y 座標を指定する。
TypetomConstantsin位置決めの基準を示す値を指定する。
ExtendINTin範囲を拡張する場合は0以外、折りたたむ場合は0を指定する。
vtbl 56 HRESULT ScrollIntoView(INT Value)
ValueINTin範囲を表示領域内へスクロールする際の方法を指定する。
vtbl 57 HRESULT GetEmbeddedObject(IUnknown** ppObject)
ppObjectIUnknown**out範囲先頭に埋め込まれたオブジェクトを受け取るポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_ITextRange "{8CC497C2-A1DF-11CE-8098-00AA0047BE5D}"
#usecom global ITextRange IID_ITextRange "{}"
#comfunc global ITextRange_GetText            7 var
#comfunc global ITextRange_SetText            8 wstr
#comfunc global ITextRange_GetChar            9 var
#comfunc global ITextRange_SetChar            10 int
#comfunc global ITextRange_GetDuplicate       11 sptr
#comfunc global ITextRange_GetFormattedText   12 sptr
#comfunc global ITextRange_SetFormattedText   13 sptr
#comfunc global ITextRange_GetStart           14 var
#comfunc global ITextRange_SetStart           15 int
#comfunc global ITextRange_GetEnd             16 var
#comfunc global ITextRange_SetEnd             17 int
#comfunc global ITextRange_GetFont            18 sptr
#comfunc global ITextRange_SetFont            19 sptr
#comfunc global ITextRange_GetPara            20 sptr
#comfunc global ITextRange_SetPara            21 sptr
#comfunc global ITextRange_GetStoryLength     22 var
#comfunc global ITextRange_GetStoryType       23 var
#comfunc global ITextRange_Collapse           24 int
#comfunc global ITextRange_Expand             25 int,var
#comfunc global ITextRange_GetIndex           26 int,var
#comfunc global ITextRange_SetIndex           27 int,int,int
#comfunc global ITextRange_SetRange           28 int,int
#comfunc global ITextRange_InRange            29 sptr,var
#comfunc global ITextRange_InStory            30 sptr,var
#comfunc global ITextRange_IsEqual            31 sptr,var
#comfunc global ITextRange_Select             32
#comfunc global ITextRange_StartOf            33 int,int,var
#comfunc global ITextRange_EndOf              34 int,int,var
#comfunc global ITextRange_Move               35 int,int,var
#comfunc global ITextRange_MoveStart          36 int,int,var
#comfunc global ITextRange_MoveEnd            37 int,int,var
#comfunc global ITextRange_MoveWhile          38 var,int,var
#comfunc global ITextRange_MoveStartWhile     39 var,int,var
#comfunc global ITextRange_MoveEndWhile       40 var,int,var
#comfunc global ITextRange_MoveUntil          41 var,int,var
#comfunc global ITextRange_MoveStartUntil     42 var,int,var
#comfunc global ITextRange_MoveEndUntil       43 var,int,var
#comfunc global ITextRange_FindText           44 wstr,int,int,var
#comfunc global ITextRange_FindTextStart      45 wstr,int,int,var
#comfunc global ITextRange_FindTextEnd        46 wstr,int,int,var
#comfunc global ITextRange_Delete             47 int,int,var
#comfunc global ITextRange_Cut                48 var
#comfunc global ITextRange_Copy               49 var
#comfunc global ITextRange_Paste              50 var,int
#comfunc global ITextRange_CanPaste           51 var,int,var
#comfunc global ITextRange_CanEdit            52 var
#comfunc global ITextRange_ChangeCase         53 int
#comfunc global ITextRange_GetPoint           54 int,var,var
#comfunc global ITextRange_SetPoint           55 int,int,int,int
#comfunc global ITextRange_ScrollIntoView     56 int
#comfunc global ITextRange_GetEmbeddedObject  57 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。