使用直接註釋
若要使用直接註釋來覆寫屬性值
- 使用 CoCreateInstance 或 CoCreateInstanceEx 函式來建立 IAccPropServices 物件。
- 呼叫 IAccPropServices::SetHwndProp,傳遞 HWND、物件識別碼、子識別碼、要覆寫的屬性,以及包含屬性新值的 VARIANT。 此步驟會標註值。
- 釋放介面指標和釋放記憶體。
下列範例示範如何標註靜態文字控件的 Role 屬性。
HRESULT CMyTextControl::SetAccessibleProperties()
{
// COM is assumed to be initialized...
IAccPropServices* pAccPropServices = NULL;
HRESULT hr = CoCreateInstance(CLSID_AccPropServices,
NULL, CLSCTX_SERVER, IID_IAccPropServices,
(void**)&pAccPropServices);
if (SUCCEEDED(hr))
{
// Annotating the Role of this object to be STATICTEXT
VARIANT var;
var.vt = VT_I4;
var.lVal = ROLE_SYSTEM_STATICTEXT;
hr = pAccPropServices->SetHwndProp(_hwnd,
OBJID_CLIENT,
CHILDID_SELF,
PROPID_ACC_ROLE,
var);
pAccPropServices->Release();
}
return hr;
}
指定值時支援的屬性
下列 Microsoft Active Accessibility 屬性可以在指定值時加入註解,其中該值必須是指定類型。 若要覆寫或新增 Microsoft UI 自動化屬性至控制項,您可以指定 UI 自動化屬性 ID,而不是 Microsoft Active Accessibility 屬性 ID。 如需UI自動化識別碼的清單,請參閱 屬性標識碼。
財產 | 類型 |
---|---|
PROPID_ACC_NAME | VT_BSTR |
PROPID_ACC_DESCRIPTION | VT_BSTR |
PROPID_ACC_ROLE (屬性識別符_通知角色) | VT_I4 |
屬性_ID_ACC_狀態 | 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 |