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 上的活动辅助功能 1.3 RDK |