IAccessible::get_accSelection 方法 (oleacc.h)
IAccessible::get_accSelection 方法會擷取這個對象的選取子系。 支援選取範圍的所有物件都必須支援這個屬性。
語法
HRESULT get_accSelection(
[out, retval] VARIANT *pvarChildren
);
參數
[out, retval] pvarChildren
類型: VARIANT*
VARIANT 結構的位址,可接收所選取子系的相關信息。 下表描述 pvarChildren 中傳回的資訊。
vt 成員 | 值成員 |
---|---|
|
未選取任何子系。 |
|
選取一個子物件,並在 pdispVal 成員中設定其 IDispatch 介面的位址。 |
|
lVal 包含所選取子專案的子標識碼。 如果 lVal 是CHILDID_SELF,這表示已選取物件本身。 |
|
選取多個子物件,而且 punkVal 成員包含 IUnknown 介面的位址。 用戶端會查詢這個介面中的 IEnumVARIANT 介面,此介面會用來列舉選取的物件。 |
傳回值
類型: HRESULT
如果成功,則傳回 S_OK。
如果未成功,則會傳回下表中的其中一個值,或另一個標準 COM 錯誤碼。 伺服器會傳回這些值,但客戶端必須一律檢查輸出參數,以確保它們包含有效的值。 如需詳細資訊,請參閱 檢查 IAccessible 傳回值。
錯誤 | Description |
---|---|
|
物件不支援這個屬性。 |
備註
這個方法必須支援 IEnumVARIANT 介面。
這個方法會傳回 pvarChildren 參數的 IDispatch 介面指標或子標識碼。 如需如何使用 IDispatch 介面指標或子標識碼的詳細資訊,請參閱 如何在參數中使用子標識符。
如同其他 IAccessible 方法和函式,用戶端可能會因為用戶動作而收到 IAccessible 介面指標的錯誤。 如需詳細資訊,請參閱 接收 IAccessible 介面指標的錯誤。
注意: 這個方法會擷取選取的專案,而不是選取的文字。
伺服器範例
下列範例程式代碼示範自定義單一選取清單框的這個方法可能實作。 如果未選取任何專案,其 GetSelectedIndex 方法會傳回 -1。
// m_pControl is the control that returns this accessible object.
HRESULT STDMETHODCALLTYPE AccServer::get_accSelection(VARIANT *pvarChildren)
{
int childID = m_pControl->GetSelectedIndex() + 1; // Convert from 0-based.
if (childID <= 0)
{
pvarChildren->vt = VT_EMPTY;
}
else
{
pvarChildren->vt = VT_I4;
pvarChildren->lVal = childID;
}
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 |