Compartir a través de


Método ITfKeystrokeMgr::TestKeyDown (msctf.h)

Determina si el administrador de pulsaciones de teclas controlará un evento de reducción de teclas.

Sintaxis

HRESULT TestKeyDown(
  [in]  WPARAM wParam,
  [in]  LPARAM lParam,
  [out] BOOL   *pfEaten
);

Parámetros

[in] wParam

Especifica el código de clave virtual de la clave. Para obtener más información sobre este parámetro, vea el parámetro wParam en WM_KEYDOWN.

[in] lParam

Especifica el recuento de repeticiones, el código de examen, la marca de clave extendida, el código de contexto, la marca de estado de clave anterior y la marca de estado de transición de la clave. Para obtener más información sobre este parámetro, consulte el parámetro lParam en WM_KEYDOWN.

[out] pfEaten

Puntero a un BOOL que indica si se controlaría el evento de clave. Si este valor recibe TRUE, el evento de clave se controlará y el evento no se debe reenviar a la aplicación. Si este valor es FALSE, el evento de clave no se controlará y el evento se debe reenviar a la aplicación.

Valor devuelto

Este método puede devolver uno de estos valores.

Valor Descripción
S_OK
Método realizado correctamente.
S_FALSE
No hay receptores de eventos de clave instalados.
E_INVALIDARG
Uno o varios parámetros no son válidos.

Comentarios

Una aplicación puede determinar si el administrador de pulsaciones de teclas controlará un evento de clave con este método. Si este método se ejecuta correctamente y pfEaten recibe TRUE, la aplicación debe llamar a ITfKeystrokeMgr::KeyDown. Si este método no devuelve S_OK o pfEaten recibe FALSE, la aplicación no debe llamar a ITfKeystrokeMgr::KeyDown . A continuación se muestra un ejemplo de cómo se implementa.


if(msg.message == WM_KEYDOWN)
{
    if( pKeyboardMgr->TestKeyDown(msg.wParam, msg.lParam, &fEaten) == S_OK 
        && fEaten 
        && pKeyboardMgr->KeyDown(msg.wParam, msg.lParam, &fEaten) == S_OK 
        && fEaten)
    {
        //The key was handled by the keystroke manager or a TSF text service. Do not pass the key to the application. 
        continue;
    }
    else
    {
        //Let the application process the key. 
    }
}

Si el administrador de pulsaciones de teclas no controla el evento de clave, pasa el evento de clave a los servicios de texto de TSF llamando al servicio de texto ITfKeyEventSink::OnTestKeyDown método.

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado msctf.h
Archivo DLL Msctf.dll
Redistribuible TSF 1.0 en Windows 2000 Professional

Consulte también