使用直接注釋
若要使用直接注釋來覆寫屬性的值
- 使用 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 消費者介面自動化 屬性至控制項,您可以指定消費者介面自動化屬性識別碼,而不是 Microsoft Active Accessibility 屬性識別碼。 如需消費者介面自動化識別碼的清單,請參閱屬性識別碼。
屬性 | 類型 |
---|---|
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 |