Метод IAccessible::get_accName (oleacc.h)
Метод IAccessible::get_accName извлекает имя указанного объекта. Все объекты поддерживают это свойство.
Синтаксис
HRESULT get_accName(
[in] VARIANT varChild,
[out, retval] BSTR *pszName
);
Параметры
[in] varChild
Тип: VARIANT
Указывает, принадлежит ли полученное имя объекту или одному из дочерних элементов объекта. Этот параметр является либо CHILDID_SELF (для получения сведений об объекте), либо идентификатор дочернего элемента (для получения сведений о дочернем элементе объекта). Дополнительные сведения об инициализации структуры VARIANT см. в разделе Использование идентификаторов дочерних элементов в параметрах.
[out, retval] pszName
Тип: BSTR*
Адрес BSTR , получающего строку, содержащую имя указанного объекта.
Возвращаемое значение
Тип: HRESULT
Возвращает значение S_OK, если операция завершилась успешно.
В случае успеха возвращает одно из значений в следующей таблице или другой стандартный код ошибки COM. Серверы возвращают эти значения, но клиенты должны всегда проверка выходные параметры, чтобы убедиться, что они содержат допустимые значения. Дополнительные сведения см. в разделе Проверка возвращаемых значений IAccessible.
Ошибка | Описание |
---|---|
|
Указанный объект не имеет имени. |
|
Аргумент является недопустимым. |
Комментарии
Многие объекты, такие как значки, меню, поля проверка, поля со списком и другие элементы управления, имеют метки, отображаемые для пользователей. Любая метка, отображаемая для пользователей, используется для свойства имени объекта. Дополнительные сведения см. в разделе Свойство Name.
Обратите внимание на то, что разработчики серверов: Если вы используете текст меню или кнопки для свойства Name, удалите все амперсанды (&), помечающие клавиши доступа клавиатуры. Укажите ключ доступа клиенту в ответ на IAccessible::get_accKeyboardShortcut.
Локализуйте строку, возвращаемую этим свойством.
Пример сервера
В следующем примере показана возможная реализация этого метода для пользовательского элемента управления "Список", который управляет собственными дочерними элементами.
// 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;
};
Пример клиента
В следующем примере функции отображается доступное имя элемента управления.
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;
}
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | oleacc.h |
Библиотека | Oleacc.lib |
DLL | Oleacc.dll |
Распространяемые компоненты | Активные специальные возможности 1.3 RDK в Windows NT 4.0 с пакетом обновления 6 (SP6) и более поздних версий и Windows 95 |