ITfProperty::FindRange 方法 (msctf.h)
获取一个范围,该范围涵盖包含属性的非空值的文本。
语法
HRESULT FindRange(
[in] TfEditCookie ec,
[in] ITfRange *pRange,
[out] ITfRange **ppRange,
[in] TfAnchor aPos
);
parameters
[in] ec
包含标识编辑上下文的编辑 Cookie。 这是从 ITfDocumentMgr::CreateContext 或 ITfEditSession::D oEditSession 获取的。
[in] pRange
指向 ITfRange 接口的指针,该接口包含要获取其属性范围的点。 该点将是此范围的起始定位点或结束定位点,具体取决于 aPos 的值。
[out] ppRange
指向接收请求的范围对象的 ITfRange 接口指针的指针。
[in] aPos
包含 一个 TfAnchor 值,该值指定将 pRange 的哪个定位点用作获取其属性范围的点。
返回值
此方法可以返回其中一个值。
值 | 说明 |
---|---|
|
方法成功。 |
|
pRange 未结束或与 属性相邻。 ppRange 接收 NULL。 |
|
一个或多个参数无效。 |
|
内存分配失败。 |
|
发生了未指定的错误。 |
|
ec 标识的编辑上下文没有只读或读/写锁。 |
注解
此方法获取包含 属性的非空值的文本范围。 如果属性在指定点没有值, ppRange 将接收 NULL ,并且方法返回S_FALSE。 在以下示例中,如果 aPos 包含 TF_ANCHOR_START,则返回的范围将包含“is”。 如果 aPos 包含TF_ANCHOR_END,则 该方法将返回S_FALSE,因为 属性在范围的终点不存在。
COLOR: RRRRR RR GGGGGGGG
TEXT: this <a>is som</a>e colored text
如果 aPos 包含TF_ANCHOR_START,此方法将忽略紧邻开始定位点之前结束的属性范围。 同样,如果 aPos 包含TF_ANCHOR_END,此方法将忽略在结束定位点之后立即开始的属性范围。 在以下示例中,如果 aPos 包含TF_ANCHOR_START,则返回的范围将包含“colored”而不是“some”,因为 R 值属性在起始定位点处结束,G 值属性从开始定位点开始。 如果 aPos 包含TF_ANCHOR_END,则返回的范围将包含“colored”而不是“text”。
COLOR: RRRRR GGGGGGGG BBBB
TEXT: this is some <a>colored </a>text
要求
最低受支持的客户端 | Windows 2000 专业版 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows 2000 Server [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | msctf.h |
DLL | Msctf.dll |
可再发行组件 | Windows 2000 专业版上的 TSF 1.0 |