IAccessible::get_accDefaultAction 方法 (oleacc.h)
IAccessible::get_accDefaultAction 方法检索指示对象的默认操作的字符串。 并非所有对象都有默认操作。
语法
HRESULT get_accDefaultAction(
[in] VARIANT varChild,
[out, retval] BSTR *pszDefaultAction
);
parameters
[in] varChild
类型: VARIANT
指定检索到的默认操作是由 对象执行还是由 对象的子元素之一执行。 此参数是获取有关对象) 信息的CHILDID_SELF (,也可以是子 ID (以获取有关对象子元素的信息) 。 有关初始化 VARIANT 结构的详细信息,请参阅 如何在参数中使用子 ID。
[out, retval] pszDefaultAction
类型: BSTR*
接收描述指定对象的默认操作的本地化字符串的 BSTR 的地址;如果此对象没有默认操作,则值为 NULL。
返回值
类型: HRESULT
如果成功,则返回 S_OK。
如果未成功,则返回下表中的值之一或另一个标准 COM 错误代码。 服务器返回这些值,但客户端必须始终检查输出参数,以确保它们包含有效值。 有关详细信息,请参阅 检查 I 可访问的返回值。
错误 | 说明 |
---|---|
|
指定的对象没有默认操作。 |
|
自变量无效。 |
|
指定的 对象不支持此属性。 |
注解
检索到的字符串描述对对象执行的操作,而不是对象所执行的操作。 例如,打印文档的工具栏按钮的默认操作为“按”,而不是“打印当前文档”。
不要将对象的默认操作与其值混淆。 有关详细信息,请参阅 DefaultAction 属性。
只有执行操作的控件支持此方法。
服务器开发人员注意: 本地化从此属性返回的字符串。
服务器示例
以下示例代码演示自定义列表框此方法的可能实现。 为简单起见,字符串未本地化。
HRESULT STDMETHODCALLTYPE AccServer::get_accDefaultAction(
VARIANT varChild,
BSTR *pszDefaultAction)
{
if (varChild.vt != VT_I4)
{
*pszDefaultAction = NULL;
return E_INVALIDARG;
}
if (varChild.lVal == CHILDID_SELF)
{
*pszDefaultAction = SysAllocString(L"None.");
}
else
{
*pszDefaultAction = SysAllocString(L"Double-click");
}
return S_OK;
};
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | oleacc.h |
Library | Oleacc.lib |
DLL | Oleacc.dll |
可再发行组件 | Windows NT 4.0(SP6 及更高版本)和 Windows 95 上的活动辅助功能 1.3 RDK |