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

ITextRange2

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

公式ドキュメント

ITextRange2 インターフェイスは ITextRange から派生しており、そのオブジェクトは、プログラムがストーリー内のテキストを選択し、そのテキストを調べたり変更したりできるようにする強力な編集およびデータバインディングツールです。

メソッド 40

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

vtbl 68 HRESULT GetCch(INT* pcch)

範囲内の文字数を取得します。

pcchINT*out符号付きの文字数。

戻り値

型: HRESULT

メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

文字数は、範囲のアクティブ端の文字位置とアンカー端の文字位置の差です。一部の Text Object Model (TOM) 実装では、アクティブ端は選択範囲 (ITextSelection インターフェイスで表される) に対してのみ存在する場合があります。リッチエディットコントロールにおけるテキスト範囲の TOM 実装 (ITextRange インターフェイスで表される) にもアクティブ端があります。

vtbl 69 HRESULT GetCells(IUnknown** ppCells)

現在選択されているテーブルの行または列内のセルのパラメーターを保持する cells オブジェクトを取得します。

ppCellsIUnknown**outcells オブジェクト。

戻り値

型: HRESULT

メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 70 HRESULT GetColumn(IUnknown** ppColumn)

現在選択されている列の列プロパティを取得します。

ppColumnIUnknown**out現在選択されている列の列プロパティ。

戻り値

型: HRESULT

メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 71 HRESULT GetCount(INT* pCount)

現在の範囲内のアクティブなサブ範囲を含む、サブ範囲の数を取得します。

pCountINT*outアクティブなサブ範囲を含まないサブ範囲の数。

戻り値

型: HRESULT

メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

文字を含まない範囲、または 1 文字の範囲を選択した場合、数は 1 になります。ただし、ある単語を選択し、別の場所へ移動して、最初の単語に接していない 2 つ目の単語を選択した場合は、数は 2 になります。

プログラムからサブ範囲を追加するには、ITextRange2::AddSubrange を参照してください。

vtbl 72 HRESULT GetDuplicate2(ITextRange2** ppRange)

range オブジェクトの複製を取得します。

ppRangeITextRange2**out複製された範囲。

戻り値

型: HRESULT

メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

この範囲が ITextSelection2 オブジェクトである場合、返される複製は ITextRange2 オブジェクトになります。詳細については、ITextRange::FindText メソッドを参照してください。

vtbl 73 HRESULT GetFont2(ITextFont2** ppFont)

現在の範囲の文字属性を保持する ITextFont2 オブジェクトを取得します。

ppFontITextFont2**outITextFont2 オブジェクト。

戻り値

型: HRESULT

メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 74 HRESULT SetFont2(ITextFont2* pFont)

範囲の文字書式属性を設定します。

pFontITextFont2*inoptional目的の文字書式属性を保持する font オブジェクト。

戻り値

型: HRESULT

メソッドが成功した場合は S_OK を返します。失敗した場合は、以下のいずれかの COM エラーコードを返します。COM エラーコードの詳細については、Error Handling in COM を参照してください。

リターンコード 説明
E_INVALIDARG
無効な引数です。
E_ACCESSDENIED
書き込みアクセスが拒否されました。
E_OUTOFMEMORY
メモリが不足しています。
vtbl 75 HRESULT GetFormattedText2(ITextRange2** ppRange)

現在の範囲の書式付きテキストを保持する ITextRange2 オブジェクトを取得します。

ppRangeITextRange2**out書式付きテキスト。

戻り値

型: HRESULT

メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 76 HRESULT SetFormattedText2(ITextRange2* pRange)

この範囲のテキストを、指定した範囲の書式付きテキストに設定します。

pRangeITextRange2*inoptionalこの範囲のテキストを置き換える書式付きテキストを含む範囲。

戻り値

型: HRESULT

メソッドが成功した場合は S_OK を返します。失敗した場合は、以下のいずれかの COM エラーコードを返します。COM エラーコードの詳細については、Error Handling in COM を参照してください。

リターンコード 説明
E_INVALIDARG
無効な引数です。
E_ACCESSDENIED
書き込みアクセスが拒否されました。
E_OUTOFMEMORY
メモリが不足しています。
vtbl 77 HRESULT GetGravity(INT* pValue)

この範囲の gravity を取得します。

pValueINT*out

gravity の値。次のいずれかになります。

tomGravityUI

tomGravityBack

tomGravityFore

tomGravityIn

tomGravityOut

戻り値

型: HRESULT

メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 78 HRESULT SetGravity(INT Value)

この範囲の gravity を設定します。

ValueINTin

新しい gravity の値。次のいずれかになります。

tomGravityUI

tomGravityBack

tomGravityFore

tomGravityIn

tomGravityOut

戻り値

型: HRESULT

メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 79 HRESULT GetPara2(ITextPara2** ppPara)

範囲の段落属性を保持する ITextPara2 オブジェクトを取得します。

ppParaITextPara2**outITextPara2 オブジェクト。

戻り値

型: HRESULT

メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 80 HRESULT SetPara2(ITextPara2* pPara)

範囲の段落書式属性を設定します。

pParaITextPara2*inoptional目的の段落書式。

戻り値

型: HRESULT

メソッドが成功した場合は S_OK を返します。失敗した場合は、以下のいずれかの COM エラーコードを返します。COM エラーコードの詳細については、Error Handling in COM を参照してください。

リターンコード 説明
E_INVALIDARG
無効な引数です。
E_ACCESSDENIED
書き込みアクセスが拒否されました。
E_OUTOFMEMORY
メモリが不足しています。
vtbl 81 HRESULT GetRow(ITextRow** ppRow)

現在選択されている行の行プロパティを取得します。

ppRowITextRow**out行プロパティ。

戻り値

型: HRESULT

メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 82 HRESULT GetStartPara(INT* pValue)

範囲の開始文字位置を含む段落の先頭の文字位置を取得します。

pValueINT*out範囲の開始文字位置を含む段落の先頭。

戻り値

型: HRESULT

メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 83 HRESULT GetTable(IUnknown** ppTable)

現在選択されているテーブルのテーブルプロパティを取得します。

ppTableIUnknown**outテーブルプロパティ。

戻り値

型: HRESULT

メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

挿入ポイントがテーブル内にあるときにテーブルを選択するには、ITextRange::Expand(tomTable) を呼び出します。

注: このメソッドは RichEdit では実装されていません (テーブル機能については ITextRow を参照してください)。

vtbl 84 HRESULT GetURL(LPWSTR* pbstr)

範囲に関連付けられた URL テキストを返します。

pbstrLPWSTR*out範囲に関連付けられた URL テキスト。

戻り値

型: HRESULT

メソッドが成功した場合は S_OK を返します。失敗した場合は、以下のいずれかの COM エラーコードを返します。COM エラーコードの詳細については、Error Handling in COM を参照してください。

リターンコード 説明
E_INVALIDARG
無効な引数です。
E_OUTOFMEMORY
メモリが不足しています。

解説(Remarks)

このメソッドは、範囲の開始位置と終了位置を、フレンドリ名 (存在する場合) を含むハイパーリンク全体の位置に設定します。

vtbl 85 HRESULT SetURL(LPWSTR bstr)

この範囲のテキストを、指定した URL のテキストに設定します。

bstrLPWSTRin選択されたフレンドリ名の URL として使用するテキスト。

戻り値

型: HRESULT

メソッドが成功した場合は S_OK を返します。失敗した場合は、以下のいずれかの COM エラーコードを返します。COM エラーコードの詳細については、Error Handling in COM を参照してください。

リターンコード 説明
E_INVALIDARG
無効な引数です。
E_ACCESSDENIED
書き込みアクセスが拒否されました。
E_OUTOFMEMORY
メモリが不足しています。

解説(Remarks)

URL 文字列は検証されません。含まれるテキストは引用符で囲む必要があり、必要に応じて先頭にセンチネル文字 0xFDDF を付けます。例: "http://www.msn.com" または 0xFDDF"http://www.msn.com"。範囲は非退化 (nondegenerate) である必要があります。

次の操作が可能です。

SetURL を呼び出した後、テキスト範囲は異なる文字位置に調整されます。
vtbl 86 HRESULT AddSubrange(INT cp1, INT cp2, INT Activate)

この範囲にサブ範囲を追加します。

cp1INTinサブ範囲のアクティブ端の文字位置。
cp2INTinサブ範囲のアンカー端の文字位置。
ActivateINTinactivate パラメーター。このパラメーターが tomTrue の場合、新しいサブ範囲がアクティブなサブ範囲になり、cp1 がアクティブ端、cp2 がアンカー端になります。

戻り値

型: HRESULT

メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 87 HRESULT BuildUpMath(INT Flags)

範囲内のリニア形式の数式をビルドアップ形式に変換するか、現在のビルドアップ形式を変更します。

FlagsINTin

以下のフラグの組み合わせです。

tomChemicalFormula

tomHaveDelimiter

tomMathAlphabetics

tomMathApplyTemplate

tomMathArabicAlphabetics

tomMathAutoCorrect

tomMathAutoCorrectExt

tomMathAutoCorrectOpPairs

tomMathBackspace

tomMathBuildDown

tomMathBuildDownOutermost

tomMathBuildUpArgOrZone

tomMathBuildUpRecurse

tomMathChangeMask

tomMathCollapseSel

tomMathDeleteArg

tomMathDeleteArg1

tomMathDeleteArg2

tomMathDeleteCol

tomMathDeleteRow

tomMathEnter

tomMathInsColAfter

tomMathInsColBefore

tomMathInsRowAfter

tomMathInsRowBefore

tomMathMakeFracLinear

tomMathMakeFracSlashed

tomMathMakeFracStacked

tomMathMakeLeftSubSup

tomMathMakeSubSup

tomMathRemoveOutermost

tomMathRichEdit

tomMathShiftTab

tomMathSingleChar

tomMathSubscript

tomMathSuperscript

tomMathTab

tomNeedTermOp

tomPlain

tomShowEmptyArgPlaceholders

tomTeX

戻り値

型: HRESULT

メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

ITextRange2::BuildUpMath メソッドが非退化の範囲に対して呼び出されると、このメソッドはテキストについて数式イタリック変換 (tomMathAlphabetics が指定されている場合) と数式オートコレクト変換 (tomMathAutoCorrect または tomMathAutoCorrectExt が指定されている場合) をチェックします。次に、選択されたテキストのビルドアップを試みます。成功した場合、メソッドは範囲内の元のテキストをビルドアップ後のテキストで置き換えます。メソッドが範囲に何らかの変更を加えた場合、関数は NOERROR を返し、範囲が結果を選択します。メソッドが範囲を変更する場合は、S_FALSE または Component Object Model (COM) エラーコードを返します。

ITextRange2::BuildUpMath メソッドが退化した範囲に対して呼び出されると、BuildUpMath メソッドは、その範囲を最後に入力された文字の直後にある挿入ポイント (IP) として扱います。メソッドはその文字を、場合によっては先行するいくつかの文字とともに、数式イタリック (tomMathAlphabetics が指定されている場合)、内部数式オートコレクト (tomMathAutoCorrect が指定されている場合)、否定演算子、および一部の演算子ペア (tomMathAutoCorrectOpPairs が指定されている場合) に変換します。IP が引数の内部にある場合、メソッドは IP から数式オブジェクト引数の先頭までのテキスト範囲をスキャンします。それ以外の場合は、現在の数式ゾーンの先頭までスキャンします。数式ゾーンはハードキャリッジリターンまたはソフトな段落終端記号で終了するため、スキャンはこれらの記号で終了します。数式オブジェクト引数または数式ゾーンの先頭からの前方スキャンでは、ビルドアップの対象になり得ないテキストはスキップされます。スキャンが元の開始 IP に到達した場合、次のいずれかの結果になります。

スキャンによってビルドアップされる可能性のあるテキストが見つかった場合、BuildUpMath メソッドは挿入ポイントまでのテキストのビルドアップを試みます。成功した場合、メソッドは NOERROR を返し、範囲は対応するビルドアップ後のテキストで更新されます。

この完全なビルドアップの試みが失敗した場合、BuildUpMath メソッドは IP の直前にある式について部分的なビルドアップのチェックを行います。これが成功した場合、メソッドは NOERROR を返し、範囲にはビルドアップ後のテキストで置き換えられるリニアテキストが含まれます。

完全および部分的なビルドアップの試みが失敗した場合、関数はビルドアップ対象のテキストが見つからなかった場合について前述したとおりに戻ります。その他に返される可能性のある値には、E_INVALIDARG (いずれかのインターフェイスポインターが NULL の場合) と E_OUTOFMEMORY があります。

数式の自動ビルドアップでは、終端の空白を削除するオートコレクトが発生した場合を除き、tomNeedTermOp フラグを設定する必要があります。オートコレクトは、ユーザーがオートコレクトを強制するために空白を入力したときに、\alpha のようなテキストを修正する際に発生することがあります。

vtbl 88 HRESULT DeleteSubrange(INT cpFirst, INT cpLim)

範囲からサブ範囲を削除します。

cpFirstINTinサブ範囲の開始文字位置。
cpLimINTinサブ範囲の終了文字位置。

戻り値

型: HRESULT

メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 89 HRESULT Find(ITextRange2* pRange, INT Count, INT Flags, INT* pDelta)

ソース範囲で指定されたテキスト内の数式インライン関数を検索します。

pRangeITextRange2*inoptional範囲のテキスト内で検索する書式付きテキスト。
CountINTin検索する文字数。
FlagsINTinITextRange::FindText で定義されている、検索を制御するフラグ。
pDeltaINT*outスキップされた文字数。

戻り値

型: HRESULT

メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

文字列が見つかり、数式インライン関数が存在する場合にそれらがソース範囲内の対応するものと同じであれば、範囲の境界は一致した文字列の境界に変更され、length は文字列の長さに設定されます。

文字列が見つからない場合、範囲は変更されず、length は 0 に設定されます。

vtbl 90 HRESULT GetChar2(INT* pChar, INT Offset)

この範囲の末尾から指定したオフセットの位置にある文字を取得します。

pCharINT*out文字の値。
OffsetINTin範囲の末尾からのオフセット。オフセットが 0 の場合、範囲の末尾の文字を取得します。

戻り値

型: HRESULT

メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

このメソッドは、次の点で ITextRange::GetChar と異なります。

文字がサロゲートペアのリードコードである場合、対応する UTF-32 文字が返されます。

Offset がストーリーの先頭より前、またはストーリーの末尾の文字を指定している場合、このメソッドは文字コード 0 を返します。

Offset の値 返される文字
0 範囲の末尾の文字。
負の値で、サロゲートペアの中間にアクセスする場合 対応する UTF-32 文字。
正の値で、サロゲートペアの中間にアクセスする場合 そのペアの次の UTF-32 文字。
vtbl 91 HRESULT GetDropCap(INT* pcLine, INT* pPosition)

この範囲を含む段落のドロップキャップのパラメーターを取得します。

pcLineINT*outドロップキャップの行数。値 0 はドロップキャップなしを意味します。
pPositionINT*out

ドロップキャップの位置。位置には次のいずれかを指定できます。

  • tomDropMargin
  • tomDropNone
  • tomDropNormal

戻り値

型: HRESULT

メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 92 HRESULT GetInlineObject(INT* pType, INT* pAlign, INT* pChar, INT* pChar1, INT* pChar2, INT* pCount, INT* pTeXStyle, INT* pcCol, INT* pLevel)

範囲のアクティブ端にあるインラインオブジェクトのプロパティを取得します。

pTypeINT*out

インラインオブジェクトの種類。次のいずれかになります。

tomSimpleText

tomRuby

tomHorzVert

tomWarichu

tomAccent

tomBox

tomBoxedFormula

tomBrackets

tomBracketsWithSeps

tomEquationArray

tomFraction

tomFunctionApply

tomLeftSubSup

tomLowerLimit

tomMatrix

tomNary

tomOpChar

tomOverbar

tomPhantom

tomRadical

tomSlashedFraction

tomStack

tomStretchStack

tomSubscript

tomSubSup

tomSuperscript

tomUnderbar

tomUpperLimit

pAlignINT*out

インラインオブジェクトの配置。インラインオブジェクトの種類に応じて、次のいずれかの意味になります。

インラインオブジェクトの種類 Align パラメーターの意味
tomRuby
tomRubyBelow
tomRubyAlignCenter (default)
tomRubyAlign010
tomRubyAlign121
tomRubyAlignLeft
tomRubyAlignRight
tomBox
tomBoxAlignCenter
tomSpaceMask
tomSpaceDefault
tomSpaceUnary
tomSpaceBinary
tomSpaceRelational
tomSpaceSkip
tomSpaceOrd
tomSpaceDifferential
tomSizeText
tomSizeScript
tomSizeScriptScript
tomNoBreak
tomTransparentForPositioning
tomTransparentForSpacing
tomBoxedFormula
tomBoxHideTop
tomBoxHideBottom
tomBoxHideLeft
tomBoxHideRight
tomBoxStrikeH
tomBoxStrikeV
tomBoxStrikeTLBR
tomBoxStrikeBLTR
tomBrackets
tomAlignDefault
tomAlignCenter
tomAlignMatchAscentDescent
tomMathVariant
tomEquationArray
tomEqArrayLayoutWidth
tomEqArrayAlignMask
tomEqArrayAlignCenter
tomEqArrayAlignTopRow
tomEqArrayAlignBottomRow
tomMatrix
tomMatrixAlignMask
tomMatrixAlignCenter
tomMatrixAlignTopRow
tomMatrixAlignBottomRow
tomShowMatPlaceHldr
tomNary
tomLimitsDefault
tomLimitsUnderOver
tomLimitsSubSup
tomUpperLimitAsSuperScript
tomLimitsOpposite
tomShowLLimPlaceHldr
tomShowULimPlaceHldr
tomDontGrowWithContent
tomGrowWithContent
tomPhantom
tomPhantomShow
tomPhantomZeroWidth
tomPhantomZeroAscent
tomPhantomZeroDescent
tomPhantomTransparent
tomRadical tomShowDegPlaceHldr
tomSubSup tomSubSupAlign
tomStretchStack
tomStretchCharBelow
tomStretchCharAbove
tomStretchBaseBelow
tomStretchBaseAbove
pCharINT*out

インラインオブジェクトの文字。

各オブジェクトの種類に対する値を次の表に示します。

インラインオブジェクトの種類 align パラメーターの意味
tomAccent アクセント (U+0300—U+36F, U+20D0—U+20EF)
tomBoxedFormula 四角形の囲み用の U+25AD
tomBrackets 開きかっこ。既定値: U+0028。
tomBracketsWithSeps 区切り文字付きの開きかっこ。既定値: U+0028
tomEquationArray U+2588
tomFraction 通常のビルドアップ分数: U+002F、小さい数値分数: U+2298
tomFunctionApply U+2061
tomLeftSubSup U+005E
tomLowerLimit U+252C
tomMatrix
U+25A0: 囲みかっこなし
U+24A8: 囲みの丸かっこ (\pmatrix)
U+24B1: 囲みの縦棒 (\vmatrix)
U+24A9: 囲みの二重縦棒 (\Vmatrix)
tomNary n 項演算子記号
tomOpChar ビルドしない演算子用の内部使用
tomOverbar U+00AF
tomPhantom
U+27E1: 完全またはカスタムのファントム
U+2B04: 水平ファントム
U+21F3: 垂直ファントム
U+2B06: アセントスマッシュ
U+2B07: ディセントスマッシュ
U+2B0C: 水平スマッシュ
U+2B0D: 完全スマッシュ
tomRadical
U+221A: 平方根または n 乗根
U+221B: 立方根
U+221C: 4 乗根
tomSlashedFraction
U+2044: 斜め分数
U+2215: ビルドアップされたリニア分数
tomStack U+00A6
tomStretchStack 水平ストレッチ文字 (一覧については Unicode Technical Note 28 の付録 B を参照)
tomSubscript U+005E
tomSubSup U+005E
tomSuperscript U+005F
tomUnderbar U+2581
tomUpperLimit U+2534
pChar1INT*out閉じ tomBrackets 文字。一覧については Unicode Technical Note 28 の付録 B「Character Keywords and Properties」を参照してください。
pChar2INT*out

tomBracketsWithSep の区切り文字。

U+007C: 追加の間隔なしの縦棒

U+2223: 追加の間隔ありの縦棒

pCountINT*outインラインオブジェクトの引数の数。
pTeXStyleINT*out

インラインオブジェクトの TeX スタイル。次のいずれかの値になります。

メモ  tomStyleDefault の動作はコンテキストに依存します。
 

tomStyleDefault

tomStyleScriptScriptCramped

tomStyleScriptScript

tomStyleScriptCramped

tomStyleScript

tomStyleTextCramped

tomStyleText

tomStyleDisplayCramped

tomStyleDisplay

pcColINT*outインラインオブジェクトの列数 (tomMatrix のみ)。
pLevelINT*outインラインオブジェクトの 0 から始まるネストレベル。

戻り値

型: HRESULT

メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

Unicode Technical Note 28 では、アクティブ端の文字がインラインオブジェクトの開始区切り文字である場合の配置と文字の値について詳しく説明されています。

その文字が開始区切り文字でない場合、character パラメーターと column パラメーターは 0 に設定され、count は 0 から始まる引数インデックスに設定され、その他のパラメーターは、最も内側のインラインオブジェクト引数のアクティブ端の文字プロパティに従って設定されます。

vtbl 93 HRESULT GetProperty(INT Type, INT* pValue)

プロパティの値を取得します。

TypeINTinプロパティ ID。
pValueINT*outプロパティの値。

戻り値

型: HRESULT

メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 94 HRESULT GetRect(INT Type, INT* pLeft, INT* pTop, INT* pRight, INT* pBottom, INT* pHit)

現在の範囲について、指定した種類の四角形を取得します。

TypeINTin

取得する四角形の種類。このパラメーターには、次の各表からそれぞれ 1 つの値を含めることができます。

tomAllowOffClient

tomClientCoord

tomObjectArg

tomTransform

垂直位置を示すには、次の値のいずれかを使用します。

TA_TOP 境界四角形の上端。
TA_BASELINE テキストのベースライン。
TA_BOTTOM 境界四角形の下端。
 

水平位置を示すには、次の値のいずれかを使用します。

TA_LEFT 境界四角形の左端。
TA_CENTER 境界四角形の中央。
TA_RIGHT 境界四角形の右端。
pLeftINT*out四角形の左座標。
pTopINT*out四角形の上座標。
pRightINT*out四角形の右座標。
pBottomINT*out四角形の下座標。
pHitINT*out範囲のヒットテスト値。

戻り値

型: HRESULT

メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 95 HRESULT GetSubrange(INT iSubrange, INT* pcpFirst, INT* pcpLim)

範囲内のサブ範囲を取得します。

iSubrangeINTinサブ範囲のインデックス。
pcpFirstINT*outサブ範囲の開始の文字位置。
pcpLimINT*outサブ範囲の終了の文字位置。

戻り値

型: HRESULT

メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

サブ範囲は次のように選択されます。

iSubrange の値 サブ範囲
0 に等しい 現在のアクティブなサブ範囲を取得します。
0 より大きい iSubrange で指定されたインデックスのサブ範囲を、サブ範囲が追加された順序で取得します。これには追加の計算が必要です。
0 より小さい iSubrange で指定されたインデックスのサブ範囲を、文字位置の昇順で取得します。

アクティブなサブ範囲を含まないサブ範囲の数については、ITextRange2::GetCount を参照してください。

vtbl 96 HRESULT GetText2(INT Flags, LPWSTR* pbstr)

指定した変換フラグに従って、この範囲内のテキストを取得します。

FlagsINTin

テキストの取得方法を制御するフラグ。フラグには次の値の組み合わせを含めることができます。Flags 値に 0 を指定することは、ITextRange::GetText メソッドを呼び出すことと同じです。

tomAdjustCRLF

tomUseCRLF

tomIncludeNumbering

tomNoHidden

tomNoMathZoneBrackets

tomTextize

tomAllowFinalEOP

tomTranslateTableCell

tomFoldMathAlpha

tomLanguageTag

pbstrLPWSTR*out範囲内のテキスト。

戻り値

型: HRESULT

メソッドが成功した場合は S_OK を返します。失敗した場合は、以下のいずれかの COM エラーコードを返します。COM エラーコードの詳細については、Error Handling in COM を参照してください。

リターンコード 説明
E_INVALIDARG
無効な引数です。
E_ACCESSDENIED
書き込みアクセスが拒否されました。
E_OUTOFMEMORY
メモリが不足しています。

解説(Remarks)

このメソッドには、範囲の BCP-47 言語タグを取得するための特別なフラグ tomLanguageTag が含まれています。これは業界標準の言語タグであり、ITextFont::GetLanguageID を呼び出して取得する言語コード識別子 (LCID) よりも適している場合があります。

vtbl 97 HRESULT HexToUnicode()

この範囲の末尾にある 16 進数を Unicode 文字に変換し、置き換えます。

戻り値

型: HRESULT

メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

0x10000 から 0x10FFFF までの 16 進値に対する一部の Unicode サロゲートは内部使用向けです。

16 進値 使用可否
7, 0xFDD0 — 0xFDEF, 0xFFF9 — 0xFFFF 内部使用のみ
C0 範囲 (0-0x1F) の 0xA — 0xD 使用可能
C1 範囲 (0x80 — 0x9F) 内部使用のみ
vtbl 98 HRESULT InsertTable(INT cCol, INT cRow, INT AutoFit)

範囲にテーブルを挿入します。

cColINTinテーブルの列数。
cRowINTinテーブルの行数。
AutoFitINTinセルを対象スペースにどのように収めるかを指定します。

戻り値

型: HRESULT

メソッドが成功した場合は S_OK を返します。失敗した場合は、以下のいずれかの COM エラーコードを返します。COM エラーコードの詳細については、Error Handling in COM を参照してください。

リターンコード 説明
E_INVALIDARG
無効な引数です。
E_OUTOFMEMORY
メモリが不足しています。

解説(Remarks)

範囲が非退化の場合、テーブルは範囲内のテキストを置き換えます。列の幅は AutoFit パラメーターに従って計算され、罫線は幅 0.5 ポイントの黒の実線になります。これらの既定値を変更するには、ITextRange2::GetRow メソッドを使用して ITextRow インターフェイスを取得します。

vtbl 99 HRESULT Linearize(INT Flags)

この範囲内のビルドアップされた数式、ルビ、およびその他のインラインオブジェクトを、リニア化された形式に変換します。

FlagsINTin

以下のフラグの組み合わせです。

tomMathAlphabetics

tomMathBuildDownOutermost

tomMathBuildUpArgOrZone

tomMathRemoveOutermost

tomPlain

tomTeX

戻り値

型: HRESULT

メソッドが成功した場合は S_OK を返します。失敗した場合は、以下のいずれかの COM エラーコードを返します。COM エラーコードの詳細については、Error Handling in COM を参照してください。

リターンコード 説明
E_OUTOFMEMORY
メモリが不足しています。

解説(Remarks)

リニア化が成功した場合、元々選択されていた範囲はリニア化されたバージョンに置き換えられます。

tomMathRemoveOutermost または tomMathBuildDownOutermost のビルドダウンモードが指定されている場合、ビルドダウン操作は tomMathChangeMask の値の影響を受けることがあります。

これらのビルドダウンモードの主な目的は、数式コンテキストメニューによって公開される、ビルドアップされた数式オブジェクトの変換を容易にすることです。

たとえば、次のように積み重ね分数をリニア分数に変換する場合、 (a+b/c)/(u+x/y)→((a+b/c))⁄((u+x/y))、 かっこを挿入する必要があります。そうしないと、内部的にはリニア分数が元の分子と分母を保持しているにもかかわらず、 (a+b/c)/(u+x/y)→(a+b/c)⁄(u+x/y) のように正しくないように見える変換になります。

この場合のリニア形式にはかっこが含まれるため、ビルドダウン処理は自動的にかっこを挿入します。また、積み重ね分数演算子 U+002F をリニア分数演算子 U+2215 に置き換える特別な変更が行われます。ビルドアップは U+2215 についてはかっこを破棄しませんが、U+002F については破棄します。

vtbl 100 HRESULT SetActiveSubrange(INT cpAnchor, INT cpActive)

指定したサブ範囲を、この範囲のアクティブなサブ範囲にします。

cpAnchorINTinアクティブにするサブ範囲のアンカー端の文字位置。
cpActiveINTinアクティブにするサブ範囲のアクティブ端の文字位置。

戻り値

型: HRESULT

メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

アクティブなサブ範囲は、この範囲が選択範囲である場合に Shift + 方向キーなどの操作の影響を受けるサブ範囲です。

vtbl 101 HRESULT SetDropCap(INT cLine, INT Position)

現在の範囲を含む段落のドロップキャップのパラメーターを設定します。

cLineINTinドロップキャップの行数。0 はドロップキャップなしを意味します。
PositionINTin

ドロップキャップの位置。次のいずれかになります。

tomDropMargin
tomDropNone
tomDropNormal

戻り値

型: HRESULT

メソッドが成功した場合は S_OK を返します。失敗した場合は、以下のいずれかの COM エラーコードを返します。COM エラーコードの詳細については、Error Handling in COM を参照してください。

リターンコード 説明
E_INVALIDARG
無効な引数です。

解説(Remarks)

現在の範囲は退化していてもよく、またはドロップキャップの段落全体までを選択することもできます。範囲に複数の段落が含まれている場合、このメソッドは E_FAIL を返します。

vtbl 102 HRESULT SetProperty(INT Type, INT Value)

指定したプロパティの値を設定します。(ITextRange2.SetProperty)

TypeINTin設定するプロパティの ID。
ValueINTin新しいプロパティの値。

戻り値

型: HRESULT

メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 103 HRESULT SetText2(INT Flags, LPWSTR bstr)

この範囲のテキストを設定します。

FlagsINTin

テキストを範囲に挿入する方法を制御するフラグ。フラグには次のいずれかの値を指定できます。

tomUnicodeBiDi

tomMathCFCheck

tomUnlink

tomUnhide

tomCheckTextLimit

tomLanguageTag

bstrLPWSTRin新しいテキスト。

戻り値

型: HRESULT

メソッドが成功した場合は S_OK を返します。失敗した場合は、以下のいずれかの COM エラーコードを返します。COM エラーコードの詳細については、Error Handling in COM を参照してください。

リターンコード 説明
E_INVALIDARG
無効な引数です。
E_ACCESSDENIED
書き込みアクセスが拒否されました。
E_OUTOFMEMORY
メモリが不足しています。

解説(Remarks)

bstr パラメーターが NULL の場合、範囲内のテキストは削除されます。

このメソッドは ITextRange:: SetText に似ていますが、さまざまな挿入オプションを制御するフラグ (範囲の BCP-47 言語タグを取得するための特別なフラグ tomLanguageTag を含む) をクライアントが指定できます。これは業界標準の言語タグであり、言語コード識別子 (LCID) を使用する ITextFont::SetLanguageID よりも適している場合があります。

vtbl 104 HRESULT UnicodeToHex()

このテキスト範囲の開始位置の前にある 1 つまたは複数の Unicode 文字を 16 進数に変換し、それを選択します。

戻り値

型: HRESULT

メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

0x10000 から 0x10FFFF までの 16 進値に対する一部の Unicode サロゲートは内部使用向けです。

16 進値 使用可否
0xFDD0 – 0xFDEF, 0xFFF9-0xFFFF 内部使用のみ
C0 範囲 (0-0x1F) の 0xA – 0xD 使用可能
C1 範囲 (0x80 – 0x9F) 内部使用のみ
vtbl 105 HRESULT SetInlineObject(INT Type, INT Align, INT Char, INT Char1, INT Char2, INT Count, INT TeXStyle, INT cCol)

退化した範囲について、インラインオブジェクトのプロパティを設定または挿入します。

TypeINTinITextRange2::GetInlineObject で定義されているオブジェクトの種類。
AlignINTinITextRange2::GetInlineObject で定義されているオブジェクトの配置。
CharINTinITextRange2::GetInlineObject で定義されているオブジェクトの文字。
Char1INTin閉じかっこ (tomBrackets) の文字。文字の一覧については Unicode Technical Note 28 を参照してください。
Char2INTintomBracketsWithSeps の区切り文字。次のいずれかの値になります。
CountINTinインラインオブジェクトの引数の数。
TeXStyleINTinITextRange2::GetInlineObject で定義されている TeX スタイル。
cColINTinインラインオブジェクトの列数。tomMatrix のみ。

戻り値

型: HRESULT

メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 106 HRESULT GetMathFunctionType(LPWSTR bstr, INT* pValue)

指定した数式関数名に関連付けられた数式関数の種類を取得します。

bstrLPWSTRin数式関数の種類を判定するために調べられる数式関数名。
pValueINT*out

bstr で指定された関数名の数式関数の種類。次のいずれかの値になります。

tomFunctionTypeNone

tomFunctionTypeTakesArg

tomFunctionTypeTakesLim

tomFunctionTypeTakesLim2

tomFunctionTypeIsLim

戻り値

型: HRESULT

メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 107 HRESULT InsertImage(INT width, INT height, INT ascent, INT Type, LPWSTR bstrAltText, IStream* pStream)

この範囲に画像を挿入します。

widthINTin画像の幅 (HIMETRIC 単位、0.01 mm)。
heightINTin画像の高さ (HIMETRIC 単位)。
ascentINTinTypeTA_BASELINE の場合、このパラメーターは、画像の上端がテキストのベースラインより上に伸びる距離 (HIMETRIC 単位) です。TypeTA_BASELINEascent が 0 の場合、画像の下端がテキストのベースラインに配置されます。
TypeINTin

画像の垂直方向の配置。次のいずれかの値になります。

意味
TA_BASELINE
画像をテキストのベースラインを基準に配置します。
TA_BOTTOM
画像の下端をテキスト行の下端に合わせて配置します。
TA_TOP
画像の上端をテキスト行の上端に合わせて配置します
bstrAltTextLPWSTRin画像の代替テキスト。
pStreamIStream*inoptional画像データを含むストリーム。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

範囲が非退化の場合、画像は範囲内のテキストを置き換えます。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

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

出力引数:
#define global IID_ITextRange2 "{C241F5E2-7206-11D8-A2C7-00A0D1D6C6B3}"
#usecom global ITextRange2 IID_ITextRange2 "{}"
#comfunc global ITextRange2_GetCch               68 var
#comfunc global ITextRange2_GetCells             69 sptr
#comfunc global ITextRange2_GetColumn            70 sptr
#comfunc global ITextRange2_GetCount             71 var
#comfunc global ITextRange2_GetDuplicate2        72 sptr
#comfunc global ITextRange2_GetFont2             73 sptr
#comfunc global ITextRange2_SetFont2             74 sptr
#comfunc global ITextRange2_GetFormattedText2    75 sptr
#comfunc global ITextRange2_SetFormattedText2    76 sptr
#comfunc global ITextRange2_GetGravity           77 var
#comfunc global ITextRange2_SetGravity           78 int
#comfunc global ITextRange2_GetPara2             79 sptr
#comfunc global ITextRange2_SetPara2             80 sptr
#comfunc global ITextRange2_GetRow               81 sptr
#comfunc global ITextRange2_GetStartPara         82 var
#comfunc global ITextRange2_GetTable             83 sptr
#comfunc global ITextRange2_GetURL               84 var
#comfunc global ITextRange2_SetURL               85 wstr
#comfunc global ITextRange2_AddSubrange          86 int,int,int
#comfunc global ITextRange2_BuildUpMath          87 int
#comfunc global ITextRange2_DeleteSubrange       88 int,int
#comfunc global ITextRange2_Find                 89 sptr,int,int,var
#comfunc global ITextRange2_GetChar2             90 var,int
#comfunc global ITextRange2_GetDropCap           91 var,var
#comfunc global ITextRange2_GetInlineObject      92 var,var,var,var,var,var,var,var,var
#comfunc global ITextRange2_GetProperty          93 int,var
#comfunc global ITextRange2_GetRect              94 int,var,var,var,var,var
#comfunc global ITextRange2_GetSubrange          95 int,var,var
#comfunc global ITextRange2_GetText2             96 int,var
#comfunc global ITextRange2_HexToUnicode         97
#comfunc global ITextRange2_InsertTable          98 int,int,int
#comfunc global ITextRange2_Linearize            99 int
#comfunc global ITextRange2_SetActiveSubrange    100 int,int
#comfunc global ITextRange2_SetDropCap           101 int,int
#comfunc global ITextRange2_SetProperty          102 int,int
#comfunc global ITextRange2_SetText2             103 int,wstr
#comfunc global ITextRange2_UnicodeToHex         104
#comfunc global ITextRange2_SetInlineObject      105 int,int,int,int,int,int,int,int
#comfunc global ITextRange2_GetMathFunctionType  106 wstr,var
#comfunc global ITextRange2_InsertImage          107 int,int,int,int,wstr,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。