使用伺服器批註
本主題提供使用伺服器批註來指定回呼物件的相關資訊。
覆寫指定回呼物件的屬性
- 取得要標注之可存取專案的 IAccessible 介面指標。
- 在可存取的元素上呼叫 QueryInterface ,以取得 IAccIdentity 介面指標。
- 在IAccIdentity介面指標上呼叫IAccIdentity::GetIdentityString () ,以取得可唯一識別要標注之可存取專案的字串。
- 使用 CoCreateInstance 或 CoCreateInstanceEx 來建立 IAccPropServices 物件。
- 建立元件物件模型 (COM) 實作 IAccPropServer的物件。
- 呼叫 IAccPropServices::SetPropServer、傳遞識別字串、指出要覆寫屬性的 GUID,以及 IAccPropServer 回呼物件的指標。
- 釋放介面指標和釋放記憶體。
當用戶端要求可存取專案的 屬性時,會呼叫回呼物件,並將值傳回給用戶端。
如同指定值時,伺服器開發人員也可以使用 IAccPropServices::ComposeHwndIdentityString 方法來取得識別字串;或者,他們可以使用 IAccPropServices::SetHwndPropServer 方法,並指定 hwnd、 idObject或 idChild 參數,而不是識別字串。
在容器物件上使用 SetPropServer 或 SetHwndPropServer 時,伺服器開發人員可以選擇性地指定覆寫資訊也應該套用至該容器的所有元素子系。
伺服器可以使用 IAccPropServices::ClearProps,隨時明確清除註釋。 這通常不需要,因為批註服務會在標注的可存取專案消失時自動清除和釋放批註資訊。
以下是可以使用這個程式標注的屬性清單。
指定回呼時支援的屬性
指定回呼時,可以標注下列屬性。 目前,這些屬性無法藉由指定值直接標注。
屬性 | 類型 |
---|---|
PROPID_ACC_NAME | VT_BSTR |
PROPID_ACC_DESCRIPTION | VT_BSTR |
PROPID_ACC_ROLE | VT_I4 |
PROPID_ACC_STATE | VT_I4 |
PROPID_ACC_HELP | VT_BSTR |
PROPID_ACC_KEYBOARDSHORTCUT | VT_BSTR |
PROPID_ACC_DEFAULTACTION | VT_BSTR |
PROPID_ACC_VALUEMAP | VT_BSTR |
PROPID_ACC_ROLEMAP | VT_BSTR |
PROPID_ACC_STATEMAP | VT_BSTR |
PROPID_ACC_FOCUS | VT_DISPATCH VT_I4 |
PROPID_ACC_SELECTION | VT_DISPATCH VT_I4 VT_UNKNOWN |
PROPID_ACC_PARENT | VT_DISPATCH |
PROPID_ACC_NAV_UP | VT_DISPATCH VT_I4 |
PROPID_ACC_NAV_DOWN | VT_DISPATCH VT_I4 |
PROPID_ACC_NAV_LEFT | VT_DISPATCH VT_I4 |
PROPID_ACC_NAV_RIGHT | VT_DISPATCH VT_I4 |
PROPID_ACC_NAV_PREV | VT_DISPATCH VT_I4 |
PROPID_ACC_NAV_NEXT | VT_DISPATCH VT_I4 |
PROPID_ACC_NAV_FIRSTCHILD | VT_DISPATCH VT_I4 |
PROPID_ACC_NAV_LASTCHILD | VT_DISPATCH VT_I4 |