IAccessible::get_accDefaultAction 方法 (oleacc.h)

IAccessible::get_accDefaultAction方法會擷取指出物件預設動作的字串。 並非所有的物件都有預設動作。

語法

HRESULT get_accDefaultAction(
  [in]          VARIANT varChild,
  [out, retval] BSTR    *pszDefaultAction
);

參數

[in] varChild

類型: VARIANT

指定擷取的預設動作是由 物件或其中一個物件的子專案所執行。 此參數CHILDID_SELF (取得物件) 的相關資訊或子識別碼 (,以取得物件子項目的相關資訊) 。 如需初始化 VARIANT 結構的詳細資訊,請參閱 如何在參數中使用子識別碼。

[out, retval] pszDefaultAction

類型: BSTR*

接收當地語系化字串的 BSTR 位址,描述指定之物件的預設動作;如果這個物件沒有預設動作,則值為 Null

傳回值

類型: HRESULT

如果成功,則傳回 S_OK。

如果未成功,則會傳回下表中的其中一個值,或另一個標準 COM 錯誤碼。 伺服器會傳回這些值,但用戶端必須一律檢查輸出參數,以確保它們包含有效的值。 如需詳細資訊,請參閱 檢查 IAccessible 傳回值

錯誤 描述
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 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平台 Windows
標頭 oleacc.h
程式庫 Oleacc.lib
Dll Oleacc.dll
可轉散發套件 Windows NT 4.0 上的 Active Accessibility 1.3 RDK 與 SP6 和更新版本和 Windows 95

另請參閱

DefaultAction 屬性

IAccessible

IAccessible::accDoDefaultAction

變異