Partager via


CWnd::OnSysKeyUp

Si l'objet d' CWnd a le focus, la fonction membre d' OnSysKeyUp est appelée par l'infrastructure lorsque l'utilisateur relâche une touche qui a été enfoncée pendant que la touche ALT est maintenu.

afx_msg void OnSysKeyUp( 
   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' OnSysKeyUp , le bit de clé transition bit (15) est 1. 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' OnSysKeyUp de la fenêtre active est appelée. L'objet d' CWnd qui accepte l'appel 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_SYSKEYUP accepté par OnSysKeyUp 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 aux clés d'accélérateur (raccourci) à utiliser avec la fenêtre active même si la fenêtre active n'a pas le focus d'entrée.

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.

Pour les autres).. améliorés 102 claviers principaux, le bon touche ALT est géré comme combinaison de touches de CTRL+ALT. Voici la séquence de messages et appels qui résultent lorsque les pressions et les versions d'utilisateur cette clé :

Séquence

Fonction accès

Message passé

1.

WM_KEYDOWN

VK_CONTROL

2.

WM_KEYDOWN

VK_MENU

3.

WM_KEYUP

VK_CONTROL

4.

WM_SYSKEYUP

VK_MENU

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::OnSysKeyDown

WM_SYSKEYUP