ITextRangeProvider::MoveEndpointByUnit 方法(uiautomationcore.h)

将文本范围的一个终结点移动到文档范围内指定数量的 TextUnit 单位。

语法

HRESULT MoveEndpointByUnit(
  [in]          TextPatternRangeEndpoint endpoint,
  [in]          TextUnit                 unit,
  [in]          int                      count,
  [out, retval] int                      *pRetVal
);

参数

[in] endpoint

类型:TextPatternRangeEndpoint

要移动的终结点。

[in] unit

类型:TextUnit

文本单元的类型,如字符、单词、段落等。

[in] count

类型:int

要移动的单位数。 正值将终结点向前移动。 负值向后移动。 值 0 无效。

[out, retval] pRetVal

类型:int*

接收实际移动的单位数,如果移动终结点进入文档的开头或结尾,则其数量可能小于请求的数量。

返回值

类型:HRESULT

如果此方法成功,则返回 S_OK。 否则,它将返回 HRESULT 错误代码。

言论

终结点 向前或向后移动(如指定)到下一个可用单位边界。 如果原始 终结点 位于指定文本单元的边界,终结点 将移动到下一个可用文本单元边界,如下图所示。

图显示移动 文本范围的终结点如果移动 终结点 跨越同一文本范围的另一个 终结点,另一个 终结点 也会移动,从而导致退化的范围并确保 终结点 的正确排序(也就是说,开始始终小于或等于结束)。

如果控件不支持给定的文本单元,ITextRangeProvider::MoveEndpointByUnit 弃用到下一个受支持的文本单元。

此处列出了从最小单位到最大单位的顺序。

  • 字符
  • 格式
  • Word
  • 段落
  • 页面
  • 文档

单元TextUnit::Format 时,范围行为

TextUnit::Format 作为一个 单元 值将文本范围的边界定位为根据区域内文本的共享文本属性(格式)展开或移动范围。 但是,使用格式文本单元不应在嵌入对象的边界(如图像或超链接)之间移动或扩展文本范围。 有关详细信息,请参阅 UI 自动化文本单元文本和 TextRange 控件模式

要求

要求 价值
最低支持的客户端 Windows XP [桌面应用 |UWP 应用]
支持的最低服务器 Windows Server 2003 [桌面应用 |UWP 应用]
目标平台 窗户
标头 uiautomationcore.h (包括 UIAutomation.h)

另请参阅

概念

ITextProvider

ITextRangeProvider

参考

文本和 TextRange 控件模式

UI 自动化提供程序概述