Метод 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.

Ошибка Описание
S_FALSE
Указанный объект не выбран.
E_INVALIDARG
Аргумент является недопустимым. Это возвращаемое значение означает, что указанное сочетание SELFLAG недопустимо или что значение SELFLAG не имеет смысла для указанного объекта. Например, в списке с одним выбором не допускаются следующие флаги: SELFLAG_EXTENDSELECTION, SELFLAG_ADDSELECTION и SELFLAG_REMOVESELECTION.
DISP_E_MEMBERNOTFOUND
Объект не поддерживает этот метод.

Комментарии

Клиентские приложения используют этот метод для выполнения сложных операций выбора. Дополнительные сведения см. в разделе Выбор дочерних объектов. Этот метод предоставляет самый простой способ программного переключения фокуса ввода между приложениями. Это относится к приложениям, работающим в 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

См. также раздел

IAccessible

IAccessible::get_accFocus

IAccessible::get_accSelection

SELFLAG

Свойства и методы выделения и фокуса

ВАРИАНТ