Share via


직접 주석 사용

직접 주석을 사용하여 속성 값을 재정의하려면

  1. CoCreateInstance 또는 CoCreateInstanceEx 함수를 사용하여 IAccPropServices 개체를 만듭니다.
  2. IAccPropServices::SetHwndProp를 호출하여 HWND, 개체 ID, 자식 ID, 재정의할 속성 및 속성의 새 값을 포함하는 VARIANT를 전달합니다. 이 단계에서는 값에 주석을 추가합니다.
  3. 인터페이스 포인터와 사용 가능한 메모리를 해제합니다.

다음 예제에서는 정적 텍스트 컨트롤의 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