Метод IAccessible::accSelect (oleacc.h)
Метод IAccessible::accSelect изменяет выделение или перемещает фокус клавиатуры указанного объекта. Все объекты, поддерживающие выделение или получающие фокус клавиатуры, должны поддерживать этот метод.
Синтаксис
HRESULT accSelect(
[in] long flagsSelect,
[in] VARIANT varChild
);
Параметры
[in] flagsSelect
Тип: long
Указывает, какие операции выбора или фокусировки должны быть выполнены. Этот параметр должен иметь сочетание констант SELFLAG.
[in] varChild
Тип: VARIANT
Указывает выбранный объект. Если значение CHILDID_SELF, выбирается сам объект ; если идентификатор дочернего элемента, выбирается один из дочерних элементов объекта. Дополнительные сведения об инициализации структуры VARIANT см. в разделе Использование идентификаторов дочерних элементов в параметрах.
Возвращаемое значение
Тип: HRESULT
Возвращает значение S_OK, если операция завершилась успешно.
В случае успеха возвращает одно из значений в следующей таблице или другой стандартный код ошибки COM.
Ошибка | Описание |
---|---|
|
Указанный объект не выбран. |
|
Аргумент является недопустимым. Это возвращаемое значение означает, что указанное сочетание SELFLAG недопустимо или что значение SELFLAG не имеет смысла для указанного объекта. Например, в списке с одним выбором не допускаются следующие флаги: SELFLAG_EXTENDSELECTION, SELFLAG_ADDSELECTION и SELFLAG_REMOVESELECTION. |
|
Объект не поддерживает этот метод. |
Комментарии
Клиентские приложения используют этот метод для выполнения сложных операций выбора. Дополнительные сведения см. в разделе Выбор дочерних объектов. Этот метод предоставляет самый простой способ программного переключения фокуса ввода между приложениями. Это относится к приложениям, работающим в Windows 2000.
Примечание: Этот метод предназначен для выбора элементов, а не текста.
Пример клиента
В следующем примере функция выбирает элемент в указанной точке экрана. Предполагается, что требуется один выбор.
HRESULT SelectItemAtPoint(POINT point)
{
VARIANT varItem;
IAccessible* pAcc;
HRESULT hr = AccessibleObjectFromPoint(point, &pAcc, &varItem);
if ((hr == S_OK))
{
hr = pAcc->accSelect((SELFLAG_TAKEFOCUS | SELFLAG_TAKESELECTION), varItem);
VariantClear(&varItem);
pAcc->Release();
}
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 |