IAccessible::accSelect 方法 (oleacc.h)
IAccessible::accSelect 方法修改所选内容或移动指定对象的键盘焦点。 支持选择或接收键盘焦点的所有对象都必须支持此方法。
语法
HRESULT accSelect(
[in] long flagsSelect,
[in] VARIANT varChild
);
参数
[in] flagsSelect
类型: long
指定要执行哪些选择或焦点操作。 此参数必须具有 SELFLAG 常量的组合。
[in] varChild
类型: VARIANT
指定所选对象。 如果值为CHILDID_SELF,则选择对象本身;如果为子 ID,则选择对象的子元素之一。 有关初始化 VARIANT 结构的详细信息,请参阅 如何在参数中使用子 ID。
返回值
类型: HRESULT
如果成功,则返回 S_OK。
如果未成功,则返回下表中的值之一或其他标准 COM 错误代码。
错误 | 说明 |
---|---|
|
未选择指定的对象。 |
|
自变量无效。 此返回值表示指定的 SELFLAG 组合无效,或者 SELFLAG 值对指定对象没有意义。 例如,单选列表框上不允许使用以下标志: SELFLAG_EXTENDSELECTION、 SELFLAG_ADDSELECTION和 SELFLAG_REMOVESELECTION。 |
|
对象不支持此方法。 |
注解
客户端应用程序使用此方法执行复杂的选择操作。 有关详细信息,请参阅 选择子对象。 此方法提供了以编程方式在应用程序之间切换输入焦点的最简单方法。 这适用于在 Windows 2000 上运行的应用程序。
注意: 此方法用于选择项,而不是文本。
客户端示例
以下示例函数选择屏幕上指定点处的项。 假定需要单个选择。
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 |