Bagikan melalui


Navigasi Melalui Pengujian Hit dan Lokasi Layar

Untuk menemukan anak objek atau untuk menentukan ukuran objek, klien dapat mencapai titik pengujian di layar. Dua metode tersedia:

Menggunakan IAccessible::accHitTest

Untuk mengidentifikasi apakah suatu titik berada dalam sebuah objek, dalam anaknya, atau tidak berada dalam keduanya, klien memanggil metode IAccessible::accHitTest dari objek induk, dengan memberikan koordinat layar dari titik yang akan diuji. Daftar berikut ini menjelaskan beberapa skenario umum:

  • Jika anak objek saling tumpang tindih pada titik tertentu, IAccessible::accHitTest akan mengambil anak paling atas yang secara visual terlihat menempati ruang tersebut.
  • Jika sebuah jendela menutupi elemen anak, atau jika elemen anak terpotong oleh elemen induk, pengujian penargetan pada titik yang tertutup akan mengenali elemen anak tersebut meskipun tidak terlihat.
  • Jika anak yang ditemukan pada titik yang ditentukan adalah objek yang dapat diakses, bukan elemen turunan, maka metode ini mengembalikan antarmuka IDispatch anak tersebut.

Menggunakan IAccessible::accLocation

Untuk mendapatkan lokasi layar suatu objek atau salah satu sub-objeknya, klien memanggil IAccessible::accLocation. Metode ini mengembalikan koordinat persegi panjang pembatas objek yang ditentukan. Jika objek tidak berbentuk seperti persegi panjang, metode mengembalikan koordinat persegi terkecil yang mencakup seluruh objek.

Ilustrasi berikut menunjukkan hubungan antara wilayah objek non-persegi panjang dan persegi panjang pembatasnya.

ilustrasi memperlihatkan wilayah objek nonrektangular (lingkaran) dan persegi panjang pembatasnya.

Nota

IAccessible::accHitTest lebih tepat daripada IAccessible::accLocation karena memungkinkan klien menentukan lokasi objek berdasarkan piksel demi piksel daripada dengan persegi panjang pembatas. Presisi ini berguna, misalnya, ketika aplikasi mengumpulkan informasi dengan melacak lokasi pointer mouse.