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