Метод ITextRange2::BuildUpMath (tom.h)

Преобразует математические вычисления линейного формата в диапазоне в созданную форму или изменяет текущую созданную форму.

Синтаксис

HRESULT BuildUpMath(
  [in] long Flags
);

Параметры

[in] Flags

Тип: long

Сочетание следующих флагов.

tomХислоформа

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
Header tom.h
DLL Msftedit.dll

См. также раздел

ITextRange2

ITextRange2::Linearize