Bagikan melalui


Menggunakan Anotasi Langsung

Untuk menggunakan anotasi langsung untuk mengambil alih nilai properti

  1. Gunakan fungsi CoCreateInstance atau CoCreateInstanceEx untuk membuat IAccPropServices objek.
  2. Panggil IAccPropServices::SetHwndPropdengan HWND, ID objek, ID anak, properti yang akan ditimpa, dan VARIANT yang berisi nilai baru properti tersebut. Langkah ini mengannotasi nilai.
  3. Lepaskan pointer antarmuka dan bebaskan memori.

Contoh berikut menunjukkan cara memberikan anotasi pada properti Peran 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 Microsoft Active Accessibility berikut dapat diberi anotasi ketika menentukan nilai (di mana nilai harus dari jenis yang telah ditentukan) untuk anotasi langsung. Untuk menggantikan atau menambahkan properti UI Automation Microsoft ke kontrol, Anda dapat menentukan ID properti UI Automation sebagai pengganti ID properti Microsoft Active Accessibility. Untuk daftar ID Automasi Antarmuka Pengguna, lihat Pengidentifikasi Properti.

Harta benda Jenis
PROPID_ACC_NAME VT_BSTR
PROPID_ACC_DESKRIPSI 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