Bagikan melalui


Mengekspos Item Kotak Daftar Owner-Drawn

Pengembang aplikasi tidak perlu menerapkan IAccessible untuk mengekspos item dalam kotak daftar yang digambar pemilik yang memiliki gaya LBS_HASSTRINGS karena Aksesibilitas Aktif Microsoft mengekspos item dalam kotak daftar dengan gaya ini. Item dalam kotak daftar yang digambar pemilik dengan gaya LBS_HASSTRINGS ditampilkan sebagai teks. Namun, gaya ini juga digunakan dengan kotak daftar yang digambar pemilik yang tidak menampilkan teks sehingga item kotak daftar diekspos oleh Aksesibilitas Aktif Microsoft.

Untuk memperbolehkan Aksesibilitas Aktif Microsoft mengekspos item dalam kotak daftar yang digambar pemilik yang tidak menampilkan teks:

  • Gunakan gaya LBS_HASSTRINGS saat membuat kotak daftar.
  • Buat rekan tekstual yang memberi nama atau menjelaskan setiap item dalam kotak daftar.
  • Saat menambahkan item ke kotak daftar yang digambar pemilik, gunakan pesan LB_ADDSTRING untuk menambahkan teks yang Anda inginkan untuk diekspos oleh Aksesibilitas Aktif Microsoft. Teks ini tidak ditampilkan, sehingga bukan bagian dari data yang digambar pemilik. Tambahkan data item yang digambar pemilik menggunakan pesan LB_SETITEMDATA .

Saat menggunakan metode di atas, perhatikan hal berikut:

  • Jika Anda menggunakan gaya LBS_SORT , kotak daftar diurutkan menggunakan string yang disediakan dan bukan prosedur panggilan balik WM_COMPAREITEM .
  • Dengan kotak daftar variabel yang digambar pemilik yang dibuat dengan gaya LBS_OWNERDRAWVARIABLE, gunakan variabel global atau mekanisme lain untuk melacak kapan anggota itemDatadari MEASUREITEMSTRUCT valid. Variabel global diperlukan karena sistem mengirim pesan WM_MEASUREITEM segera setelah string ditambahkan tetapi sebelum data item dilampirkan, dan pada titik ini anggota itemData tidak valid.
  • Untuk mengubah string untuk item dalam kotak daftar dengan gaya LBS_HASSTRINGS , hapus item dengan pesan LB_DELETESTRING dan tambahkan string baru dengan pesan LB_ADDSTRING.