AccessibleObjectFromPoint 函数 (oleacc.h)
检索在屏幕上的指定点处显示的对象的 IAccessible 接口指针的地址。
语法
HRESULT AccessibleObjectFromPoint(
[in] POINT ptScreen,
[out] IAccessible **ppacc,
[out] VARIANT *pvarChild
);
参数
[in] ptScreen
在物理屏幕坐标中指定所检查的点。
[out] ppacc
接收对象的 IAccessible 接口地址的指针变量的地址。
[out] pvarChild
VARIANT 结构的地址,该结构指定 ppacc 中返回的 IAccessible 接口指针是属于指定点处显示的对象,还是属于指定点处元素的父级。 VARIANT 的 vt 成员始终VT_I4。 如果 lVal 成员CHILDID_SELF,则 ppacc 处的 IAccessible 接口指针属于该点的对象。 如果未CHILDID_SELF lVal 成员, 则 ppacc 是子元素的父对象的 IAccessible 接口的地址。 客户端在使用完时必须对检索到的 VARIANT 参数调用 VariantClear。
返回值
如果成功,则返回 S_OK。
如果未成功,则返回以下代码之一或另一个标准 COM 错误代码。
返回代码 | 说明 |
---|---|
|
自变量无效。 |
注解
此函数在给定点检索对象层次结构中最低级别的可访问对象。 如果点处的元素不是可访问对象 (即 , 不支持 IAccessible) ,则该函数将检索父对象的 IAccessible 接口。 父对象必须通过 IAccessible 接口提供有关子元素的信息。 调用 IAccessible::accHitTest 以标识指定屏幕坐标处的子元素。
与其他 IAccessible 方法和函数一样,由于用户操作,客户端可能会收到 IAccessible 接口指针错误。 有关详细信息,请参阅 接收 IAccessible 接口指针的错误。
客户端示例
以下示例函数选择屏幕上指定点处的项。 假定需要单个选择。
HRESULT SelectItemAtPoint(POINT point)
{
VARIANT varItem;
IAccessible* pAcc;
HRESULT hr = AccessibleObjectFromPoint(point, &pAcc, &varItem);
if ((hr == S_OK))
{
hr = pAcc->accSelect((SELFLAG_TAKEFOCUS | SELFLAG_TAKESELECTION), varItem);
VariantClear(&varItem);
pAcc->Release();
}
return hr;
}
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | oleacc.h |
Library | Oleacc.lib |
DLL | Oleacc.dll |
可再发行组件 | 具有 SP6 及更高版本和 Windows 95 的 Windows NT 4.0 上的 Active Accessibility 1.3 RDK |