Menggunakan Anotasi Peta Nilai

Untuk membuat peta nilai

  1. Buat string pemetaan.

    String pemetaan adalah daftar nilai numerik kontrol yang sesuai dengan string yang dapat dibaca manusia di Unicode. Dimulai dengan "A:" diikuti dengan angka yang menunjukkan jenis indeks yang digunakan. Hanya indeks gambar yang didukung; oleh karena itu jenis indeks selalu 0.

    String diikuti oleh pasangan :index:result. "Indeks" adalah angka yang mewakili indeks gambar untuk List-View atau Tampilan Pohon, atau nilai untuk kontrol penggerak.

    Nilai yang dihasilkan adalah angka yang diperoleh saat Anda memetakan properti Peran atau Status untuk tampilan daftar atau kontrol tampilan pohon. Angka-angka tersebut dinyatakan dalam desimal atau heksadesimal dengan awalan "0x".

    String pemetaan selalu dihentikan dengan titik dua akhir (":").

    Berikut ini adalah contoh peta anotasi untuk properti Status dan Peran dari kotak centang dalam tampilan daftar atau kontrol tampilan pohon. Ada dua item dalam tampilan yang mewakili kotak centang, dan masing-masing memiliki gambar yang sesuai dengan status dicentang dan tidak dicentang.

    LPCWSTR g_ListOrTreeStateMap = 
    L"A:0"     // Index type; always 0. !
    L":0:0x00" // Image 0 is normal !
    L":1:0x10" // Image 1 is checked - STATE_SYSTEM_CHECKED (0x10) !
    L":";
    
    LPCWSTR g_ListOrTreeRoleMap = 
    L"A:0"     // Index type; always 0. !
    L":0:0x2C" // Image 0 is a check box - ROLE_SYSTEM_CHECKBUTTON
    (0x2c) !
    L":1:0x2C" // image 1 is also a check box !
    L":";
    

    Untuk nilai Peran dan Status yang valid, lihat Peran Objek dan Konstanta Status Objek.

    Nilai indeks mungkin negatif saat Anda memetakan properti untuk kontrol slider.

    Saat Anda memetakan properti Nilai atau Deskripsi, hasilnya adalah string. String tidak dikutip dan titik dua bertindak sebagai pemisah.

    Untuk informasi selengkapnya, lihat Format Peta Anotasi.

  2. Buat manajer anotasi dan dapatkan pointer ke antarmuka IAccPropServices-nya.

    Berikut ini adalah contoh cara membuat manajer anotasi.

    IAccPropServices * pAccPropSvc = NULL;
    HRESULT hr = CoCreateInstance(CLSID_AccPropServices, NULL,
    CLSCTX_SERVER, IID_IAccPropServices, (void**) & pAccPropSvc));
    
    
  3. Lampirkan string pemetaan ke kontrol.

    Panggil IAccPropServices::SetHwndPropStr, meneruskan HWND kontrol dan penunjuk ke string pemetaan.

    Parameter IdProp akan menjadi salah satu dari berikut ini.

    Parameter Digunakan untuk
    MSAAPROPID_ROLEMAP Untuk mengatur peta peran untuk tampilan daftar atau kontrol tampilan pohon.
    MSAAPROPID_STATEMAP Untuk mengatur peta status untuk tampilan daftar atau kontrol tampilan pohon.
    PROPID_ACC_DESCRIPTIONMAP Untuk mengatur peta deskripsi untuk tampilan daftar atau tampilan pohon.
    MSAAPROPID_VALUEMAP Untuk mengatur peta nilai pada kontrol slider.

     

  4. Bersihkan.

    Sebelum Anda menghancurkan kontrol anotasi peta nilai apa pun (misalnya, saat menangani WM_DESTROY), Anda harus menghapus properti yang terdaftar sebelumnya dan merilis manajer anotasi.

    Untuk melakukan ini, panggil IAccPropServices::ClearHwndProps sebagaimana melengkapi dan lepaskan pointer Anda ke IAccPropServices.

Untuk kode sampel, lihat Sampel Anotasi Peta Nilai.