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 可访问的返回值

错误 说明
S_FALSE
指定的对象没有默认操作。
E_INVALIDARG
自变量无效。
DISP_E_MEMBERNOTFOUND
指定的 对象不支持此属性。

注解

检索到的字符串描述对对象执行的操作,而不是对象所执行的操作。 例如,打印文档的工具栏按钮的默认操作为“按”,而不是“打印当前文档”。

不要将对象的默认操作与其值混淆。 有关详细信息,请参阅 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

请参阅

DefaultAction 属性

IAccessible

IAccessible::accDoDefaultAction

VARIANT