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
S_FALSE
Objek yang ditentukan tidak memiliki nama.
E_INVALIDARG
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

Lihat juga

IAccessible

IAccessible::get_accKeyboardShortcut

Properti Nama

VARIAN