IUIAutomationTextRange::Move 方法 (uiautomationclient.h)
将文本范围向前或向后移动指定的文本单位数。
语法
HRESULT Move(
[in] TextUnit unit,
[in] int count,
[out, retval] int *moved
);
参数
[in] unit
类型: TextUnit
一个 值,该值指定文本单位的类型,例如字符、单词、段落等。
[in] count
类型: int
要移动的文本单位数。 正值将文本范围向前移动。 负值将文本范围向后移动。 零无效。
[out, retval] moved
类型: int*
接收实际移动的文本单位数。 如果新文本范围终结点之一大于或小于 IUIAutomationTextPattern::D ocumentRange 方法检索到的终结点,则此值可能小于请求的数量。 如果导航在向后方向进行,则此值可以为负值。
返回值
类型: HRESULT
如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
注解
IUIAutomationTextRange::Move 移动文本范围以跨越文本的不同部分;它不会以任何方式更改文本。
对于非退化 (非空) 文本范围, IUIAutomationTextRange::Move 通过执行以下步骤规范化和移动区域。
- 文本范围在起始终结点处折叠为退化 (空) 范围。
- 如有必要,生成的文本范围在文档中向后移动到请求的文本单元边界的开头。
- 文本范围在文档中按请求的文本单位边界数向前或向后移动。
- 通过将结束终结点向前移动一个请求的文本单位边界,从退化状态扩展文本范围。
对于退化的文本范围, IUIAutomationTextRange::Move 只需按指定的文本单位数移动文本插入点。
移动文本范围时, IUIAutomationTextRange::Move 将忽略文本中任何嵌入对象的边界。
IUIAutomationTextRange::Move 同时遵循隐藏文本和可见文本。
如果基于文本的控件不支持 unit 参数指定的文本单位, 则 IUIAutomationTextRange::Move 将替换下一个更大的受支持文本单元。
文本单位的大小(从最小单位到最大)如下所示。
- 字符
- 格式
- Word
- 线
- Paragraph
- 页面
- 文档
单位为 时的范围行为TextUnit::Format
TextUnit::Format
作为 单位 值定位文本范围的边界,以基于共享文本属性 (格式) 范围内的文本扩展或移动范围。 但是,使用格式文本单元不会跨嵌入对象的边界(如图像或超链接)移动或扩展文本范围。 有关详细信息,请参阅UI 自动化文本单位或UI 自动化文本内容支持。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 7、带 SP2 的 Windows Vista 和适用于 Windows Vista 的平台更新、带 SP3 的 Windows XP 和适用于 Windows Vista 的平台更新 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 R2、Windows Server 2008 SP2 和 Platform Update for Windows Server 2008、Windows Server 2003 SP2 和 Platform Update for Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | uiautomationclient.h (包括 UIAutomation.h) |