ITfContextOwner::GetACPFromPoint 方法 (msctf.h)
ITfContextOwner::GetACPFromPoint 方法将屏幕坐标中的点转换为应用程序字符位置。
语法
HRESULT GetACPFromPoint(
[in] const POINT *ptScreen,
[in] DWORD dwFlags,
[out] LONG *pacp
);
参数
[in] ptScreen
指向 POINT 结构的指针,其中包含点的屏幕坐标。
[in] dwFlags
指定要基于相对于字符边界框的点的屏幕坐标返回的字符位置。 默认情况下,返回的字符位置是包含点的屏幕坐标的字符边界框。 如果该点位于字符的边界框之外,则 该方法返回 NULL 或TF_E_INVALIDPOINT。
如果为此参数指定了GXFPF_ROUND_NEAREST标志,并且点的屏幕坐标包含在字符边界框中,则返回的字符位置是最接近点的屏幕坐标的边界边缘。
如果为此参数指定了GXFPF_NEAREST标志,并且点的屏幕坐标不包含在字符边界框中,则返回最近的字符位置。
位标志可以组合使用。
[out] pacp
接收对应于点的屏幕坐标的字符位置
返回值
此方法可以返回其中一个值。
值 | 说明 |
---|---|
|
方法成功。 |
|
ptScreen 参数不在任何字符的边界框中。 |
|
应用程序尚未计算文本布局。 |
注解
使用图示根据 dwFlags 参数中使用的标志确定返回的字符位置。点 1
- Default-- pacp = 0 --点的屏幕坐标位于字符位置 0 的字符边界框中。
- GXFPF_ROUND_NEAREST- pacp = 1 --点的屏幕坐标最接近范围位置 1,这是字符位置 1 的起始范围位置。
- GXFPF_NEAREST -- pacp = 0 --发生默认行为是因为点位于字符位置 0 的字符边界框中。
- Default-- hr = TF_E_INVALIDPOINT --点的屏幕坐标位于字符边界框之外。
- GXFPF_ROUND_NEAREST-- 小时 = TF_E_INVALIDPOINT --发生默认行为是因为点的屏幕坐标在字符边界框之外。
- GXFPF_NEAREST - pacp = 1 --最接近点屏幕坐标的字符位置为字符位置 1。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | msctf.h |
DLL | Msimtf.dll |
可再发行组件 | Windows 2000 专业版上的 TSF 1.0 |
另请参阅
ITextStoreACP::GetACPFromPoint