Metode IAccessible::get_accFocus (oleacc.h)
Metode IAccessible::get_accFocus mengambil objek yang memiliki fokus keyboard. Semua objek yang mungkin menerima fokus keyboard harus mendukung properti ini.
Sintaks
HRESULT get_accFocus(
[out, retval] VARIANT *pvarChild
);
Parameter
[out, retval] pvarChild
Jenis: VARIAN*
Alamat struktur VARIAN yang menerima informasi tentang objek yang memiliki fokus. Tabel berikut ini menjelaskan informasi yang dikembalikan dalam pvarID.
Nilai | Makna |
---|---|
|
Tidak ada. Objek ini maupun turunannya tidak memiliki fokus keyboard. |
|
lVal CHILDID_SELF. Objek itu sendiri memiliki fokus keyboard. |
|
lVal berisi ID anak dari elemen anak yang memiliki fokus keyboard. |
|
Anggota pdispVal adalah alamat antarmuka IDispatch untuk objek anak yang memiliki fokus keyboard. |
Mengembalikan nilai
Jenis: HRESULT
Jika berhasil, mengembalikan S_OK.
Jika tidak berhasil, mengembalikan salah satu nilai dalam tabel berikut, atau kode kesalahan COM standar lainnya. Server mengembalikan nilai-nilai ini, tetapi klien harus selalu memeriksa parameter output untuk memastikan bahwa nilai tersebut berisi nilai yang valid. Untuk informasi selengkapnya, lihat Memeriksa Nilai Pengembalian IAccessible.
Kesalahan | Deskripsi |
---|---|
|
Objek adalah jendela tetapi bukan jendela latar depan. |
|
Objek tidak mendukung properti ini. |
Keterangan
Konsep fokus keyboard terkait dengan jendela aktif. Jendela aktif adalah jendela latar depan tempat pengguna bekerja. Objek dengan fokus keyboard adalah jendela aktif atau objek anak dari jendela aktif.
Hanya satu objek atau item dalam kontainer yang memiliki fokus pada satu waktu. Objek dengan fokus keyboard tidak selalu objek yang dipilih. Untuk informasi selengkapnya tentang perbedaan antara pilihan dan fokus, lihat Pemilihan dan Properti dan Metode Fokus.
Metode ini mengembalikan penunjuk antarmuka IDispatch atau ID anak untuk pvarID. Untuk informasi selengkapnya tentang cara menggunakan penunjuk antarmuka IDispatch atau ID anak, lihat Cara ID Anak Digunakan dalam Parameter.
Seperti metode dan fungsi IAccessible lainnya, klien mungkin menerima kesalahan untuk penunjuk antarmuka IAccessible karena tindakan pengguna. Untuk informasi selengkapnya, lihat Menerima Kesalahan untuk Penunjuk Antarmuka IAccessible.
Contoh Server
Contoh kode berikut menunjukkan kemungkinan implementasi metode ini untuk kotak daftar pilihan tunggal kustom. Jika kontrol tidak memiliki fokus, VT_EMPTY dikembalikan dalam varian oleh objek standar yang dapat diakses untuk HWND. Jika kontrol memiliki fokus, dan item dipilih, ID anak dari item tersebut dikembalikan; jika tidak ada pilihan, CHILDID_SELF dikembalikan.
// m_pControl is the control object that is served by this implementation.
// m_pStdAccessibleObject is the object returned by CreateStdAccessibleObject.
HRESULT STDMETHODCALLTYPE AccServer::get_accFocus(VARIANT *pvarChild)
{
FAIL_IF_NO_CONTROL; // Macro that checks for existence of control.
HRESULT hr = m_pStdAccessibleObject->get_accFocus(pvarChild);
if (pvarChild->vt != VT_I4)
{
return hr;
}
else
{
int index = m_pControl->GetSelectedIndex();
if (index <0)
{
pvarChild->lVal = CHILDID_SELF;
}
else
{
// Convert to 1-based index for child ID.
pvarChild->lVal = index + 1;
}
}
return S_OK;
};
Persyaratan
Persyaratan | Nilai |
---|---|
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 pada Windows NT 4.0 dengan SP6 dan yang lebih baru dan Windows 95 |