iTextRange2::BuildUpMath 方法 (tom.h)

将区域中的线性格式数学转换为内置形式,或修改当前生成窗体。

语法

HRESULT BuildUpMath(
  [in] long Flags
);

参数

[in] Flags

类型: long

以下标志的组合。

tom化Formula

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 ,并且该区域包含要由生成文本替换的线性文本。

如果完全和部分构建尝试失败,函数将返回,如前面所述,如果未找到任何构建文本。 如果 任一 接口指针为 NULL) 且E_OUTOFMEMORY,则其他可能的返回值包括 E_INVALIDARG (

应为公式自动生成设置 tomNeedTermOp 标志,除非发生了删除终止空白的自动更正。 当用户键入空白以强制自动更正时,更正文本(如 \alpha)时,可能会发生自动更正。

要求

   
最低受支持的客户端 Windows 8 [仅限桌面应用]
最低受支持的服务器 Windows Server 2012 [仅限桌面应用]
目标平台 Windows
标头 tom.h
DLL Msftedit.dll

另请参阅

ITextRange2

ITextRange2::Linearize