ITextRangeProvider::Move 方法(uiautomationcore.h)
按指定的文本单位数向前或向后移动文本范围。
语法
HRESULT Move(
[in] TextUnit unit,
[in] int count,
[out, retval] int *pRetVal
);
参数
[in] unit
类型:TextUnit
文本单元的类型,如字符、单词、段落等。
[in] count
类型:int
要移动的文本单位数。 正值将文本范围向前移动。
负值将文本范围向后移动。 零不起作用。
[out, retval] pRetVal
类型:int*
实际移动的文本单位数。 如果新文本范围终结点之一大于或小于 ITextProvider::D ocumentRange 方法检索的终结点,则可以小于请求的数字。 如果导航在向后方向发生,此值可能是负值。
返回值
类型:HRESULT
如果此方法成功,则返回 S_OK。 否则,它将返回 HRESULT 错误代码。
言论
ITextRangeProvider::Move 应仅移动文本范围以跨越文本的不同部分,它不应以任何方式更改文本。
对于非退化(非空)文本范围,ITextRangeProvider::Move 应通过执行以下步骤规范化和移动文本范围。
- 将文本范围折叠到起始终结点处的退化(空)范围。
- 如有必要,请将文档中生成的文本范围向后移动到所请求的单位边界的开头。
- 按请求的文本单位边界在文档中向前或向后移动文本范围。
- 通过将结束终结点向前移动一个请求的文本单元边界,从退化状态扩展文本范围。
对于退化的文本范围,ITextRangeProvider::Move 应仅按指定的文本单位数移动文本插入点。
移动文本范围时,提供程序应忽略文本中任何嵌入对象的边界。
ITextRangeProvider::Move 应同时尊重隐藏文本和可见文本。
如果基于文本的控件不支持由 单元 参数指定的文本单元,提供程序应替换下一个更大的受支持文本单元。
文本单位的大小,从最小单位到最大,如下所示。
- 字符
- 格式
- 词
- 线
- 段
- 页
- 公文
当 单元TextUnit::Format
时,范围行为
TextUnit::Format
作为一个 单元 值将文本范围的边界定位为根据区域内文本的共享文本属性(格式)展开或移动范围。 但是,使用格式文本单元不应在嵌入对象的边界(如图像或超链接)之间移动或扩展文本范围。 有关详细信息,请参阅 UI 自动化文本单元 或 文本和 TextRange 控件模式。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows XP [桌面应用 |UWP 应用] |
支持的最低服务器 | Windows Server 2003 [桌面应用 |UWP 应用] |
目标平台 | 窗户 |
标头 | uiautomationcore.h (包括 UIAutomation.h) |
另请参阅
概念
参考