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

Determina se o gerenciador de pressionamento de tecla manipulará um evento de tecla para baixo.

Sintaxe

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

Parâmetros

[in] wParam

Especifica o código de chave virtual da chave. Para obter mais informações sobre esse parâmetro, consulte o parâmetro wParam em WM_KEYDOWN.

[in] lParam

Especifica a contagem de repetição, o código de verificação, o sinalizador de chave estendida, o código de contexto, o sinalizador de estado-chave anterior e o sinalizador de estado de transição da chave. Para obter mais informações sobre esse parâmetro, consulte o parâmetro lParam em WM_KEYDOWN.

[out] pfEaten

Ponteiro para um BOOL que indica se o evento de chave seria tratado. Se esse valor receber TRUE, o evento de chave será tratado e o evento não deverá ser encaminhado para o aplicativo. Se esse valor for FALSE, o evento de chave não será tratado e o evento deverá ser encaminhado para o aplicativo.

Valor retornado

Esse método pode retornar um desses valores.

Valor Descrição
S_OK
O método foi bem-sucedido.
S_FALSE
Não há coletores de eventos principais instalados.
E_INVALIDARG
Um ou mais parâmetros são inválidos.

Comentários

Um aplicativo pode determinar se um evento de chave será tratado pelo gerenciador de pressionamento de teclas com esse método. Se esse método for bem-sucedido e pfEaten receber TRUE, o aplicativo deverá chamar ITfKeystrokeMgr::KeyDown. Se esse método não retornar S_OK ou pfEaten receber FALSE, o aplicativo não deverá chamar ITfKeystrokeMgr::KeyDown . Veja a seguir um exemplo de como isso é implementado.


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

Se o gerenciador de pressionamento de teclas não manipular o evento de chave, ele passará o evento de chave para os serviços de texto TSF chamando o método ITfKeyEventSink::OnTestKeyDown do serviço de texto.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows 2000 Server [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho msctf.h
DLL Msctf.dll
Redistribuível TSF 1.0 no Windows 2000 Professional

Confira também