IAccessible::accSelect 方法 (oleacc.h)

IAccessible::accSelect 方法會修改選取範圍,或移動指定對象的鍵盤焦點。 支持選取或接收鍵盤焦點的所有物件都必須支持這個方法。

語法

HRESULT accSelect(
  [in] long    flagsSelect,
  [in] VARIANT varChild
);

參數

[in] flagsSelect

類型: long

指定要執行的選取範圍或焦點作業。 此參數必須具有 SELFLAG常數的組合。

[in] varChild

類型: VARIANT

指定選取的物件。 如果值CHILDID_SELF,則會選取物件本身;如果子標識碼,則會選取其中一個物件的子專案。 如需初始化 VARIANT 結構的詳細資訊,請參閱 如何在參數中使用子標識碼。

傳回值

類型: HRESULT

如果成功,則傳回 S_OK。

如果未成功,則會傳回下表中的其中一個值,或另一個標準 COM 錯誤碼

錯誤 Description
S_FALSE
未選取指定的物件。
E_INVALIDARG
引數無效。 這個傳回值表示指定的SELFLAG組合無效,或SELFLAG值對指定的物件沒有意義。 例如,單一選取清單框中不允許下列旗標: SELFLAG_EXTENDSELECTIONSELFLAG_ADDSELECTIONSELFLAG_REMOVESELECTION
DISP_E_MEMBERNOTFOUND
物件不支援這個方法。

備註

用戶端應用程式會使用這個方法來執行複雜的選取作業。 如需詳細資訊,請參閱 選取子物件。 此方法提供最簡單的方式,以程序設計方式在應用程式之間切換輸入焦點。 這適用於在 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 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平台 Windows
標頭 oleacc.h
程式庫 Oleacc.lib
Dll Oleacc.dll
可轉散發套件 sp6 和更新版本和 Windows 95 Windows NT 4.0 上的 Active Accessibility 1.3 RDK

另請參閱

IAccessible

IAccessible::get_accFocus

IAccessible::get_accSelection

SELFLAG

選取範圍和焦點屬性和方法

變異