Metode IAccessible::get_accName (oleacc.h)
Metode IAccessible::get_accName mengambil nama objek yang ditentukan. Semua objek mendukung properti ini.
Sintaks
HRESULT get_accName(
[in] VARIANT varChild,
[out, retval] BSTR *pszName
);
Parameter
[in] varChild
Jenis: VARIAN
Menentukan apakah nama yang diambil milik 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.
[out, retval] pszName
Jenis: BSTR*
Alamat BSTR yang menerima string yang berisi nama objek yang ditentukan.
Nilai kembali
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 yang ditentukan tidak memiliki nama. |
|
Argumen tidak valid. |
Keterangan
Banyak objek seperti ikon, menu, kotak centang, kotak kombo, dan kontrol lainnya memiliki label yang ditampilkan kepada pengguna. Label apa pun yang ditampilkan kepada pengguna digunakan untuk properti nama objek. Untuk informasi selengkapnya, lihat Properti Nama.
Catatan untuk pengembang server: Jika Anda menggunakan teks menu atau tombol untuk properti Nama, hapus ampersand (&) yang menandai tombol akses keyboard. Berikan kunci akses ke klien sebagai respons terhadap IAccessible::get_accKeyboardShortcut.
Lokalkan string yang dikembalikan dari properti ini.
Contoh Server
Contoh berikut menunjukkan kemungkinan implementasi metode ini untuk kontrol kotak daftar kustom yang mengelola elemen anaknya sendiri.
// m_pStdAccessibleObject is the standard object returned by CreateStdAccessibleObject.
// m_pControl is the control object that provides this accessibility object. It maintains
// a zero-based collection of child items.
HRESULT STDMETHODCALLTYPE AccServer::get_accName(
VARIANT varChild,
BSTR *pszName)
{
if (varChild.vt != VT_I4)
{
*pszName = NULL;
return E_INVALIDARG;
}
// For the control itself, let the standard accessible object return the name
// assigned by the application. This is either the "caption" property or, if
// there is no caption, the text of any label.
if (varChild.lVal == CHILDID_SELF)
{
return m_pStdAccessibleObject->get_accName(varChild, pszName);
}
// Else return the name of the item in the list.
else
{
CustomListControlItem* pItem = m_pControl->GetItemAt(varChild.lVal - 1);
if (pItem)
{
*pszName = SysAllocString(pItem->GetName());
}
}
return S_OK;
};
Contoh Klien
Contoh fungsi berikut menampilkan nama kontrol yang dapat diakses.
HRESULT PrintName(IAccessible* pAcc, long childId)
{
if (pAcc == NULL)
{
return E_INVALIDARG;
}
BSTR bstrName;
VARIANT varChild;
varChild.vt = VT_I4;
varChild.lVal = childId;
HRESULT hr = pAcc->get_accName(varChild, &bstrName);
printf("Name: %S ", bstrName);
SysFreeString(bstrName);
return hr;
}
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 di Windows NT 4.0 dengan SP6 dan yang lebih baru dan Windows 95 |