Bagikan melalui


Menggunakan Anotasi Langsung

Untuk menggunakan anotasi langsung untuk mengambil alih nilai properti

  1. Gunakan fungsi CoCreateInstance atau CoCreateInstanceEx untuk membuat objek IAccPropServices .
  2. Panggil IAccPropServices::SetHwndProp, melewati HWND, ID objek, ID anak, properti yang akan ditimpa, dan VARIAN yang berisi nilai baru properti. Langkah ini membuat anotasi nilai.
  3. Lepaskan pointer antarmuka dan memori kosong.

Contoh berikut menunjukkan cara membuat anotasi properti Peran dari kontrol teks statis.

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

Properti yang Didukung Saat Menentukan Nilai

Properti Aksesibilitas Aktif Microsoft berikut ini dapat diannotasi saat menentukan nilai (di mana nilai harus dari jenis yang dicatat) untuk anotasi langsung. Untuk mengambil alih atau menambahkan properti Microsoft UI Automation ke kontrol, Anda dapat menentukan ID properti Automation UI alih-alih ID properti Aksesibilitas Aktif Microsoft. Untuk daftar ID Otomatisasi UI, lihat Pengidentifikasi Properti.

Properti Jenis
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