Menggunakan Anotasi Langsung
Untuk menggunakan anotasi langsung untuk mengambil alih nilai properti
- Gunakan fungsi CoCreateInstance atau CoCreateInstanceEx untuk membuat IAccPropServices objek.
- Panggil IAccPropServices::SetHwndPropdengan HWND, ID objek, ID anak, properti yang akan ditimpa, dan VARIANT yang berisi nilai baru properti tersebut. Langkah ini mengannotasi nilai.
- 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 |