Partager via


Méthode ITfKeystrokeMgr::KeyDown (msctf.h)

Transmet un événement de touche vers le bas au gestionnaire de séquences de touches.

Syntaxe

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

Paramètres

[in] wParam

Spécifie le code de clé virtuelle de la clé. Pour plus d’informations sur ce paramètre, consultez le paramètre wParam dans WM_KEYDOWN.

[in] lParam

Spécifie le nombre de répétitions, le code d’analyse, l’indicateur de clé étendue, le code de contexte, l’indicateur d’état de clé précédent et l’indicateur d’état de transition de la clé. Pour plus d’informations sur ce paramètre, consultez le paramètre lParam dans WM_KEYDOWN.

[out] pfEaten

Pointeur vers un boOL qui, à la sortie, indique si l’événement de clé a été géré. Si cette valeur reçoit TRUE, l’événement de clé a été géré et l’événement ne doit pas être transféré à l’application. Si cette valeur est FALSE, l’événement de clé n’a pas été géré et l’événement doit être transféré à l’application.

Valeur retournée

Cette méthode peut retourner l’une de ces valeurs.

Valeur Description
S_OK
La méthode a réussi.
S_FALSE
Aucun récepteur d’événements clés n’est installé.
E_INVALIDARG
Un ou plusieurs paramètres ne sont pas valides.

Notes

Si cette méthode réussit et que pfEaten reçoit TRUE, l’application ne doit pas traiter l’événement key down. Si cette méthode ne retourne pas S_OK ou si pfEaten reçoit FALSE, l’application doit traiter l’événement de mise hors clé. Voici un exemple de la façon dont cela est implémenté.


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 le gestionnaire de séquences de touches ne gère pas l’événement de clé, il transmet l’événement de clé aux services de texte TSF en appelant la méthode ITfKeyEventSink::OnKeyDown du service de texte TSF.

Spécifications

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête msctf.h
DLL Msctf.dll
Composant redistribuable TSF 1.0 sur Windows 2000 Professionnel

Voir aussi