Поделиться через


Метод IUIAutomation::AddFocusChangedEventHandler (uiautomationclient.h)

Регистрирует метод, обрабатывающий события изменения фокуса.

Примечание Перед реализацией обработчика событий необходимо ознакомиться с проблемами потоков, описанными в разделе Основные сведения о проблемах с потоками.
 

Синтаксис

HRESULT AddFocusChangedEventHandler(
  [in] IUIAutomationCacheRequest             *cacheRequest,
  [in] IUIAutomationFocusChangedEventHandler *handler
);

Параметры

[in] cacheRequest

Тип: IUIAutomationCacheRequest*

Указатель на запрос кэша или значение NULL , если кэширование не требуется.

[in] handler

Тип: IUIAutomationFocusChangedEventHandler*

Указатель на объект, обрабатывающий событие.

Возвращаемое значение

Тип: HRESULT

Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

События изменения фокуса являются событиями всей системы; вы не можете задать более узкий область.

Клиент модель автоматизации пользовательского интерфейса не должен использовать несколько потоков для добавления или удаления обработчиков событий. Непредвиденное поведение может привести к добавлению или удалению одного обработчика событий в то время как другой добавляется или удаляется в том же клиентском процессе.

Примеры

В следующем примере функция создает объект , который реализует IUIAutomationFocusChangedEventHandler и подписывается на событие путем добавления обработчика.

HRESULT AddFocusHandler(IUIAutomation* pAutomation)
{ 
    // CFocusHandler is a class that implements IUIAutomationFocusChangedEventHandler. 
    CFocusHandler* pFocusHandler = new CFocusHandler();
    if (!pFocusHandler)
    {
        return E_OUTOFMEMORY;
    }
    IUIAutomationFocusChangedEventHandler* pHandler;
    pFocusHandler->QueryInterface(IID_IUIAutomationFocusChangedEventHandler, (void**)&pHandler);
    HRESULT hr = pAutomation->AddFocusChangedEventHandler(NULL, pHandler);
    pFocusHandler->Release();
    return hr;
}

Требования

Требование Значение
Минимальная версия клиента Windows 7, Windows Vista с пакетом обновления 2 (SP2) и обновление платформы для Windows Vista, Windows XP с пакетом обновления 3 (SP3) и Обновление платформы для Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 R2, Windows Server 2008 с пакетом обновления 2 (SP2) и Обновление платформы для Windows Server 2008, Windows Server 2003 с пакетом обновления 2 (SP2) и Обновление платформы для Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header uiautomationclient.h (включая UIAutomation.h)

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

Кэширование свойств модель автоматизации пользовательского интерфейса и шаблонов элементов управления

Основные понятия

IUIAutomation

IUIAutomationFocusChangedEventHandler

Справочные материалы

RemoveAllEventHandlers

RemoveFocusChangedEventHandler

Подписка на события модель автоматизации пользовательского интерфейса

Основные сведения о проблемах с потоком