iTfContextView::GetRangeFromPoint 方法 (msctf.h)

ITfContextView::GetRangeFromPoint 方法将屏幕坐标中的点转换为位于相应位置的空文本范围。

语法

HRESULT GetRangeFromPoint(
  [in]  TfEditCookie ec,
  [in]  const POINT  *ppt,
  [in]  DWORD        dwFlags,
  [out] ITfRange     **ppRange
);

参数

[in] ec

指定具有只读访问权限的编辑 Cookie。

[in] ppt

指定屏幕坐标中的点。

[in] dwFlags

根据字符边界框的点的屏幕坐标指定要返回的范围位置。 默认情况下,返回的范围位置是包含点的屏幕坐标的字符边界框。 如果点在字符边界框之外,该方法返回 NULLTF_E_INVALIDPOINT。 此参数的其他位标志如下所示。

位标志可以组合在一起。

含义
GXFPF_ROUND_NEAREST
如果点的屏幕坐标包含在字符边界框中,则返回的范围位置是最接近点的屏幕坐标的边界边缘。
GXFPF_NEAREST
如果点的屏幕坐标未包含在字符边界框中,则返回最近的范围位置。

[out] ppRange

接收指向 ITfRange 接口的指针。

返回值

此方法可以返回其中一个值。

说明
S_OK
方法成功。
TF_E_INVALIDPOINT
pptScreen 参数不涵盖任何文档文本。
TF_E_NOLAYOUT
应用程序尚未计算文本布局。
TF_E_NOLOCK
指定的编辑 Cookie 无效。

注解

点 1 位于字符边界框中,点 2 位于字符边界框之外。 默认情况下,该方法将返回一个范围,该范围对于点 1 为 0,对于点 2 为 TF_E_INVALIDPOINT。 如果 dwFlags 参数设置为 GXFPF_ROUND_NEAREST,则该方法返回点 1 的范围位置 1。 如果 dwFlags 参数设置为 GXFPF_NEAREST则该方法返回点 2 的范围位置 2。

要求

要求
最低受支持的客户端 Windows 2000 专业版 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows 2000 Server [桌面应用 |UWP 应用]
目标平台 Windows
标头 msctf.h
DLL Msctf.dll
可再发行组件 Windows 2000 专业版上的 TSF 1.0

另请参阅

GXFPF_NEAREST

GXFPF_ROUND_NEAREST

ITfContextView

TF_E_INVALIDPOINT