직접 주석 사용
직접 주석을 사용하여 속성 값을 재정의하려면
- CoCreateInstance 또는 CoCreateInstanceEx 함수를 사용하여 IAccPropServices 개체를 만듭니다.
- IAccPropServices::SetHwndProp를 호출하여 HWND, 개체 ID, 자식 ID, 재정의할 속성 및 속성의 새 값을 포함하는 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 자동화 속성을 재정의하거나 추가하려면 Microsoft Active Accessibility 속성 ID 대신 UI 자동화 속성 ID를 지정할 수 있습니다. UI 자동화 ID 목록은 속성 식별자를 참조하세요.
속성 | 형식 |
---|---|
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 |