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 |
---|---|
|
未選取指定的物件。 |
|
引數無效。 這個傳回值表示指定的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 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | oleacc.h |
程式庫 | Oleacc.lib |
Dll | Oleacc.dll |
可轉散發套件 | sp6 和更新版本和 Windows 95 Windows NT 4.0 上的 Active Accessibility 1.3 RDK |