Partager via


ITfKeystrokeMgr ::TestKeyUp, méthode (msctf.h)

Détermine si le gestionnaire de séquences de touches gère un événement key up.

Syntaxe

HRESULT TestKeyUp(
  [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_KEYUP.

[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_KEYUP.

[out] pfEaten

Pointeur vers un BOOL qui indique si l’événement de clé est géré. Si cette valeur reçoit TRUE, l’événement de clé est 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’est pas 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.

Remarques

Une application peut déterminer si un événement de clé est géré par le gestionnaire de séquences de touches avec cette méthode. Si cette méthode réussit et que pfEaten reçoit TRUE, l’application doit appeler ITfKeystrokeMgr ::KeyUp. Si cette méthode ne retourne pas S_OK ou que pfEaten reçoit FALSE, l’application ne doit pas appeler ITfKeystrokeMgr ::KeyUp . Voici un exemple de la façon dont cela est implémenté.


if(msg.message == WM_KEYUP)
{
    if( pKeyboardMgr->TestKeyUp(msg.wParam, msg.lParam, &fEaten) == S_OK 
        && fEaten 
        && pKeyboardMgr->KeyUp(msg.wParam, msg.lParam, &fEaten) == S_OK 
        && fEaten)
    {
        The key was handled by the keystroke manager or a 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é au service de texte TSF en appelant la méthode ITfKeyEventSink ::OnTestKeyUp du service de texte TSF.

Configuration requise

Condition requise Valeur
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