Compartilhar via


Método IUIAutomation::AddFocusChangedEventHandler (uiautomationclient.h)

Registra um método que manipula eventos com alteração de foco.

Nota Antes de implementar um manipulador de eventos, você deve estar familiarizado com os problemas de threading descritos em Noções básicas sobre problemas de threading.
 

Sintaxe

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

Parâmetros

[in] cacheRequest

Tipo: IUIAutomationCacheRequest*

Um ponteiro para uma solicitação de cache ou NULL se nenhum cache for desejado.

[in] handler

Tipo: IUIAutomationFocusChangedEventHandler*

Um ponteiro para o objeto que manipula o evento.

Retornar valor

Tipo: HRESULT

Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Comentários

Os eventos com alteração de foco são de todo o sistema; você não pode definir um escopo mais estreito.

Um cliente Automação da Interface do Usuário não deve usar vários threads para adicionar ou remover manipuladores de eventos. Um comportamento inesperado poderá resultar se um manipulador de eventos estiver sendo adicionado ou removido enquanto outro estiver sendo adicionado ou removido no mesmo processo de cliente.

Exemplos

A função de exemplo a seguir cria um objeto que implementa IUIAutomationFocusChangedEventHandler e assina o evento adicionando o manipulador.

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;
}

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7, Windows Vista com SP2 e Atualização de Plataforma para Windows Vista, Windows XP com SP3 e Atualização de Plataforma para Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 R2, Windows Server 2008 com SP2 e Atualização de Plataforma para Windows Server 2008, Windows Server 2003 com SP2 e Atualização de Plataforma para Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho uiautomationclient.h (inclua UIAutomation.h)

Confira também

Armazenando em cache Automação da Interface do Usuário propriedades e padrões de controle

Conceitual

IUIAutomation

IUIAutomationFocusChangedEventHandler

Referência

RemoveAllEventHandlers

RemoveFocusChangedEventHandler

Assinando eventos de Automação da Interface do Usuário

Noções básicas sobre problemas de threading