Metode IAccessible::accLocation (oleacc.h)
Metode IAccessible::accLocation mengambil lokasi layar objek yang ditentukan saat ini. Semua objek visual harus mendukung metode ini. Objek suara tidak mendukung metode ini.
Sintaks
HRESULT accLocation(
[out] long *pxLeft,
[out] long *pyTop,
[out] long *pcxWidth,
[out] long *pcyHeight,
[in] VARIANT varChild
);
Parameter
[out] pxLeft
Jenis: panjang*
Alamat, dalam koordinat layar fisik, dari variabel yang menerima koordinat x batas kiri atas lokasi objek.
[out] pyTop
Jenis: panjang*
Alamat, dalam koordinat layar fisik, dari variabel yang menerima koordinat y batas kiri atas lokasi objek.
[out] pcxWidth
Jenis: panjang*
Alamat, dalam piksel, dari variabel yang menerima lebar objek.
[out] pcyHeight
Jenis: panjang*
Alamat, dalam piksel, dari variabel yang menerima tinggi objek.
[in] varChild
Jenis: VARIAN
Menentukan apakah lokasi yang dikembalikan server harus objek atau salah satu elemen anak objek. Parameter ini CHILDID_SELF (untuk mendapatkan informasi tentang objek) atau ID anak (untuk mendapatkan informasi tentang elemen anak objek). Untuk informasi selengkapnya tentang menginisialisasi struktur VARIAN, lihat Bagaimana ID Anak Digunakan dalam Parameter.
Nilai kembali
Jenis: HRESULT
Jika berhasil, mengembalikan S_OK. Klien harus selalu memeriksa bahwa parameter output berisi nilai yang valid.
Jika tidak berhasil, mengembalikan salah satu nilai dalam tabel berikut, atau kode kesalahan COM standar lainnya. Untuk informasi selengkapnya, lihat Memeriksa Nilai Pengembalian IAccessible.
Kesalahan | Deskripsi |
---|---|
|
Objek tidak mendukung metode ini. |
|
Argumen tidak valid. |
Keterangan
Metode ini mengambil persegi panjang pembatas objek. Jika objek memiliki bentuk non-persegi panjang, maka metode ini mengembalikan persegi terkecil yang sepenuhnya mencakup seluruh wilayah objek. Untuk objek non-persegi panjang, koordinat persegi panjang pembatas objek bisa gagal jika diuji dengan IAccessible::accHitTest. Contoh objek non-persegi panjang tersebut adalah item tampilan daftar dalam mode ikon besar di mana satu item memiliki persegi panjang untuk ikon dan persegi panjang lain untuk teks ikon. Karena accLocation mengembalikan persegi panjang pembatas, tidak semua titik dalam persegi panjang tersebut akan berada dalam batas objek yang sebenarnya. Beberapa titik dalam persegi panjang pembatas mungkin tidak ada pada objek . Untuk informasi selengkapnya, lihat Navigasi Melalui Pengujian Hit dan Lokasi Layar.
Catatan: Metode ini mengembalikan lebar dan tinggi. Jika Anda menginginkan koordinat kanan dan bawah, hitung menggunakan kanan = kiri + lebar, dan bawah = atas + tinggi.
Contoh Server
Contoh berikut menunjukkan kemungkinan implementasi metode untuk kotak daftar kustom yang item daftarnya adalah elemen anak. Untuk kotak daftar itu sendiri, panggilan diteruskan ke objek standar yang dapat diakses, yang mengembalikan koordinat layar jendela.
// m_pStdAccessibleObject is the standard accessible object for the control window.
// m_pControl is the object that represents the control. Its GetItemRect method
// retrieves the screen coordinates of the specified item in a zero-based collection.
//
HRESULT STDMETHODCALLTYPE AccServer::accLocation(
long *pxLeft,
long *pyTop,
long *pcxWidth,
long *pcyHeight,
VARIANT varChild)
{
*pxLeft = 0;
*pyTop = 0;
*pcxWidth = 0;
*pcyHeight = 0;
if (varChild.vt != VT_I4)
{
return E_INVALIDARG;
}
if (varChild.lVal == CHILDID_SELF)
{
return m_pStdAccessibleObject->accLocation(pxLeft, pyTop, pcxWidth, pcyHeight, varChild);
}
else
{
RECT rect;
if (m_pControl->GetItemRect(varChild.lVal - 1, &rect) == FALSE)
{
return E_INVALIDARG;
}
else
{
*pxLeft = rect.left;
*pyTop = rect.top;
*pcxWidth = rect.right - rect.left;
*pcyHeight = rect.bottom - rect.top;
return S_OK;
}
}
};
Persyaratan
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2003 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | oleacc.h |
Pustaka | Oleacc.lib |
DLL | Oleacc.dll |
Redistribusi | Aksesibilitas Aktif 1.3 RDK di Windows NT 4.0 dengan SP6 dan yang lebih baru dan Windows 95 |
Lihat juga
Aksesibilitas Aktif dan Penskalaan Layar Windows Vista
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk