Compartir a través de


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

Registra un método que controla los eventos de cambio de foco.

Nota Antes de implementar un controlador de eventos, debe estar familiarizado con los problemas de subprocesos descritos en Descripción de los problemas de subprocesos.
 

Sintaxis

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

Parámetros

[in] cacheRequest

Tipo: IUIAutomationCacheRequest*

Puntero a una solicitud de caché o NULL si no se desea ningún almacenamiento en caché.

[in] handler

Tipo: IUIAutomationFocusChangedEventHandler*

Puntero al objeto que controla el evento.

Valor devuelto

Tipo: HRESULT

Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.

Comentarios

Los eventos de cambio de foco son en todo el sistema; no se puede establecer un ámbito más estrecho.

Un cliente de Automatización de la interfaz de usuario no debe usar varios subprocesos para agregar o quitar controladores de eventos. Un comportamiento inesperado puede dar lugar a que se agregue o quite un controlador de eventos mientras se agrega o se quita otro en el mismo proceso de cliente.

Ejemplos

La siguiente función de ejemplo crea un objeto que implementa IUIAutomationFocusChangedEventHandler y se suscribe al evento agregando el controlador.

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 Value
Cliente mínimo compatible Windows 7, Windows Vista con SP2 y Actualización de plataforma para Windows Vista, Windows XP con SP3 y Actualización de plataforma para Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 R2, Windows Server 2008 con SP2 y Actualización de plataforma para Windows Server 2008, Windows Server 2003 con SP2 y Actualización de plataforma para Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado uiautomationclient.h (include UIAutomation.h)

Consulte también

Almacenar en caché Automatización de la interfaz de usuario propiedades y patrones de control

Conceptual

IUIAutomation

IUIAutomationFocusChangedEventHandler

Referencia

RemoveAllEventHandlers

RemoveFocusChangedEventHandler

Suscribirse a eventos de Automatización de la interfaz de usuario

Descripción de los problemas de subprocesos