Partager via


CWnd::OnSysKeyDown

Si l'objet d' CWnd a le focus d'entrée, la fonction membre d' OnSysKeyDown est appelée par l'infrastructure lorsque l'utilisateur maintient la touche ALT puis appuie sur une autre touche.

afx_msg void OnSysKeyDown( 
   UINT nChar, 
   UINT nRepCnt, 
   UINT nFlags  
);

Paramètres

  • nChar
    Spécifie le code de clé virtuelle de la clé est enfoncée. Pour une liste des codes de touche virtuelle standard, consultez le Winuser.h

  • nRepCnt
    Spécifie le nombre de répétition.

  • nFlags
    Spécifie le code d'analyse, le code de transition de touche, l'état de la touche précédent, et le code de contexte, comme indiqué dans la liste suivante :

    Valeur

    Signification

    0–7

    Analyse du code (valeur d'OEM- dépendant). Bas octet de mot de poids fort.

    8

    Clé étendue, telle qu'une touche de fonction ou une clé du pavé numérique (1 s'il s'agit d'une clé étendue ; sinon 0).

    9–10

    Non utilisé.

    11–12

    Utilisé en interne par windows.

    13

    Code de contexte (1 si la touche ALT est maintenu pendant que la touche sinon, 0).

    14

    État de la touche précédent (1 si la clé est enfoncée avant que le message a été envoyé, 0 si la clé est en hausse).

    15

    Modification d'état (1 si la clé est libérée, 0 si la touche).

    Pour les appels d' OnSysKeyDown , le bit de clé transition bit (15) est 0. Le bit de code de contexte bit (13) est 1 si la touche ALT est enfoncée pendant que la touche ; il est 0 si le message est envoyé à la fenêtre active parce qu'aucune fenêtre n'a le focus d'entrée.

Notes

Si aucune fenêtre n'a actuellement le focus d'entrée, la fonction membre d' OnSysKeyDown de la fenêtre active est appelée. L'objet d' CWnd qui accepte le message peut faire la distinction entre ces deux contextes en vérifiant code de contexte dans nFlags.

Lorsque le code de contexte est 0, le message d' WM_SYSKEYDOWN accepté par OnSysKeyDown peut être passé à la fonction Windows de TranslateAccelerator , qui gérera le comme s'il s'agissait d'un message chiffré normal au lieu d'un message de système clé. Cela permet de touches accélérateur à utiliser avec la fenêtre active même si la fenêtre active n'a pas le focus d'entrée.

En raison de la répétition automatique, plusieurs appel d' OnSysKeyDown peut se produire avant que le message de WM_SYSKEYUP soit reçu. L'état de la touche précédent bit (14) peut être utilisé pour déterminer si l'appel d' OnSysKeyDown indique la première vers le bas transition ou répété vers le bas de la transition.

Pour IBM amélioré 101 et 102 claviers clés, les clés sont améliorées le seul ALT et les bonnes touches CTRL dans la section principale du clavier ; l'compléments, le DEL, sur DÉBUT, FIN l', la PG.PRÉC, la SUIV PG, et les touches de direction en clusters à gauche du pavé numérique ; et la barre oblique (/) et touches Entrées du pavé numérique. D'autres claviers peuvent prendre en charge l'étendu- clé mordue dans nFlags.

Notes

Cette fonction membre est appelée par l'infrastructure pour permettre à votre application de gérer un message de fenêtre.Les paramètres sont passés à la fonction reflètent les paramètres acceptés par l'infrastructure lorsque le message a été accepté.Si vous appelez l'implémentation de la classe de base de cette fonction, cette implémentation utilise les paramètres initialement passés avec le message et non les paramètres que vous fournissez à la fonction.

Configuration requise

Header: afxwin.h

Voir aussi

Référence

CWnd, classe

Graphique de la hiérarchie

TranslateAccelerator

CWnd::OnSysKeyUp

WM_SYSKEYDOWN