Udostępnij za pośrednictwem


Używanie adnotacji bezpośredniej

Aby użyć adnotacji bezpośredniej do zastąpienia wartości właściwości

  1. Użyj funkcji CoCreateInstance lub CoCreateInstanceEx, aby utworzyć obiektIAccPropServices.
  2. Wywołaj metodę IAccPropServices::SetHwndProp, przekazując HWND, identyfikator obiektu, identyfikator dziecka, właściwość do zastąpienia oraz VARIANT zawierającą nową wartość tej właściwości. Ten krok powoduje dodawanie adnotacji do wartości.
  3. Zwolnij wskaźniki interfejsu i zwolnij pamięć.

W poniższym przykładzie pokazano, jak dodać adnotację do właściwości Rola kontrolki tekstu statycznego.

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;
}

Właściwości obsługiwane podczas określania wartości

Następujące właściwości Microsoft Active Accessibility można adnotować, przy czym wartość musi być określonego typu, w celu bezpośredniej adnotacji. Aby zastąpić lub dodać właściwość automatyzacji interfejsu użytkownika firmy Microsoft do kontrolki, możesz określić identyfikator właściwości automatyzacji interfejsu użytkownika zamiast identyfikatora właściwości Microsoft Active Accessibility. Aby uzyskać listę identyfikatorów automatyzacji interfejsu użytkownika, zobacz Identyfikatory Właściwości.

Własność Typ
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_SKROT_KLAWIATUROWY VT_BSTR
PROPID_ACC_DEFAULTACTION VT_BSTR
PROPID_ACC_VALUEMAP VT_BSTR
PROPID_ACC_ROLEMAP VT_BSTR
PROPID_ACC_STATEMAP VT_BSTR