次の方法で共有


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 メソッドはテキストを挿入ポイントまでビルドしようとします。 成功した場合、メソッドは NOERROR を返し、範囲は対応する組み込みテキストで更新されます。

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

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

終了する空白を削除するオートコレクションが発生していない限り、数式の自動ビルドに 対して tomNeedTermOp フラグを設定する必要があります。 オートコレクトは、ユーザーが空白を入力してオートコレクトを強制するときに、\alpha などのテキストを修正するときに発生する可能性があります。

要件

   
サポートされている最小のクライアント Windows 8 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2012 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー tom.h
[DLL] Msftedit.dll

関連項目

ITextRange2

ITextRange2::Linearize