Condividi tramite


Uso dell'annotazione diretta

Per utilizzare l'annotazione diretta per sovrascrivere il valore di una proprietà

  1. Utilizzare la funzione CoCreateInstance o CoCreateInstanceEx per creare l'oggetto IAccPropServices.
  2. Chiamare IAccPropServices::SetHwndProp, passando il HWND, l'ID oggetto, l'ID figlio, la proprietà da sottoporre a override e un VARIANT contenente il nuovo valore della proprietà. Questo passaggio annota il valore.
  3. Rilasciare i puntatori di interfaccia e liberare memoria.

Nell'esempio seguente viene illustrato come annotare la proprietà Role di un controllo testo statico.

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

Proprietà supportate quando si specifica un valore

Quando si specifica un valore (dove il valore deve essere del tipo annotato) per l'annotazione diretta, è possibile annotare le proprietà di accessibilità Microsoft Active Accessibility seguenti. Per eseguire l'override o aggiungere una proprietà di UI Automation Microsoft a un controllo, è possibile specificare l'ID proprietà UI Automation anziché l'ID proprietà Microsoft Active Accessibility. Per un elenco degli ID di Automation UI, vedere Identificatori di proprietà .

Proprietà Digitare
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 (scorciatoia da tastiera) VT_BSTR
PROPID_ACC_DEFAULTACTION VT_BSTR
PROPID_ACC_VALUEMAP VT_BSTR
PROPID_ACC_ROLEMAP VT_BSTR
PROPID_ACC_STATEMAP VT_BSTR