ITextRange2::BuildUpMath メソッド (tom.h)
範囲の線形形式の数式を組み込みフォームに変換するか、現在の組み込みフォームを変更します。
構文
HRESULT BuildUpMath(
[in] long Flags
);
パラメーター
[in] Flags
型: long
次のフラグの組み合わせ。
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 エラー コードを返します。
解説
ITextRange2::BuildUpMath メソッドが非生成範囲で呼び出された場合、メソッドはテキストで数学斜体変換 (tomMathAlphabetics が指定されている場合) と数学オートコレクト変換 (tomMathAutoCorrect または tomMathAutoCorrectExt が指定されている場合) をチェックします。 次に、メソッドは選択したテキストのビルドを試みます。 成功した場合、メソッドは範囲内の前のテキストを組み込みテキストに置き換えます。 メソッドが範囲に変更を加えると、関数は NOERROR を返し、範囲によって結果が選択されます。 メソッドが範囲を変更すると、 S_FALSE またはコンポーネント オブジェクト モデル (COM) エラー コードが返されます。
ITextRange2::BuildUpMath メソッドが縮退範囲で呼び出された場合、BuildUpMath メソッドは最後の文字入力の直後の挿入ポイント (IP) として範囲を処理します。 メソッドは、その文字を前の文字と共に数学斜体 ( tomMathAlphabetics を指定した場合)、内部数式オートコレクト ( tomMathAutoCorrect が指定されている場合)、否定演算子、および一部の演算子ペア ( tomMathAutoCorrectOpPairs が指定されている場合) に変換します。 IP が引数内にある場合、メソッドは IP から数学オブジェクト引数の先頭までのテキストの範囲をスキャンします。それ以外の場合、メソッドは現在の数学ゾーンの先頭までスキャンします。 数式ゾーンはこれらのマークで終了するため、ハード キャリッジ リターンまたは論理的な段落末マークによってスキャンが終了します。 数式オブジェクト引数または数学ゾーンの先頭から前方にスキャンすると、構築される可能性のないテキストがバイパスされます。 スキャンが元のエントリ IP に達すると、次のいずれかの結果が発生する可能性があります。
- メソッドが変更を加えた場合、関数は NOERROR を返し、変更されたテキストで範囲が更新されます。
- メソッドが変更を加えなかった場合、関数は S_FALSE を返し、範囲は変更しません。
この完全なビルドアップ試行が失敗した場合、BuildUpMath メソッドは、IP の直前にある式の部分的なビルドアップ チェックを実行します。 これが成功した場合、メソッドは NOERROR を 返し、範囲には組み込みテキストに置き換えられる線形テキストが含まれます。
完全なビルドアップ試行と部分的なビルドアップ試行が失敗した場合、ビルドアップ テキストが見つからなかった場合、関数は前述のように を返します。 その他の戻り値には 、E_INVALIDARG (いずれかのインターフェイス ポインターが NULL の場合) と E_OUTOFMEMORYがあります。
終了する空白を削除するオートコレクションが発生していない限り、数式の自動ビルドに 対して tomNeedTermOp フラグを設定する必要があります。 オートコレクトは、ユーザーが空白を入力してオートコレクトを強制するときに、\alpha などのテキストを修正するときに発生する可能性があります。
要件
サポートされている最小のクライアント | Windows 8 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2012 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | tom.h |
[DLL] | Msftedit.dll |