Share via


CHotKeyCtrl, classe

Fournit les fonctionnalités du contrôle commun de touche d'accès rapide Windows.

Syntaxe

class CHotKeyCtrl : public CWnd

Membres

Constructeurs publics

Nom Description
CHotKeyCtrl ::CHotKeyCtrl Construit un objet CHotKeyCtrl.

Méthodes publiques

Nom Description
CHotKeyCtrl ::Create Crée un contrôle de clé chaude et l’attache à un CHotKeyCtrl objet.
CHotKeyCtrl ::CreateEx Crée un contrôle de touche chaude avec les styles étendus Windows spécifiés et l’attache à un CHotKeyCtrl objet.
CHotKeyCtrl ::GetHotKey Récupère le code de clé virtuelle et les indicateurs de modificateur d’une clé chaude à partir d’un contrôle de touche chaude.
CHotKeyCtrl ::GetHotKeyName Récupère le nom de la clé, dans le jeu de caractères local, affecté à une clé chaude.
CHotKeyCtrl ::GetKeyName Récupère le nom de clé, dans le jeu de caractères local, affecté au code de clé virtuelle spécifié.
CHotKeyCtrl ::SetHotKey Définit la combinaison de touches chaudes pour un contrôle de touche chaude.
CHotKeyCtrl ::SetRules Définit les combinaisons non valides et la combinaison de modificateurs par défaut pour un contrôle de touches chaudes.

Notes

Un « contrôle de clé chaude » est une fenêtre qui permet à l’utilisateur de créer une clé chaude. Une « touche chaude » est une combinaison de touches que l’utilisateur peut appuyer pour effectuer une action rapidement. (Par exemple, un utilisateur peut créer une clé chaude qui active une fenêtre donnée et l’amène en haut de l’ordre Z.) Le contrôle de touches chaudes affiche les choix de l’utilisateur et garantit que l’utilisateur sélectionne une combinaison de touches valide.

Ce contrôle (et par conséquent la CHotKeyCtrl classe) est disponible uniquement pour les programmes exécutés sous Windows 95/98 et Windows NT version 3.51 et ultérieure.

Lorsque l’utilisateur a choisi une combinaison de touches, l’application peut récupérer la combinaison de touches spécifiée à partir du contrôle et utiliser le message WM_SETHOTKEY pour configurer la touche chaude dans le système. Chaque fois que l’utilisateur appuie sur la touche chaude par la suite, à partir d’une partie du système, la fenêtre spécifiée dans le message WM_SETHOTKEY reçoit un message WM_SYSCOMMAND spécifiant SC_HOTKEY. Ce message active la fenêtre qui la reçoit. La clé chaude reste valide jusqu’à ce que l’application appelée WM_SETHOTKEY quitte.

Ce mécanisme est différent de la prise en charge de la clé chaude qui dépend du message WM_HOTKEY et des fonctions Windows RegisterHotKey et UnregisterHotKey .

Pour plus d’informations sur l’utilisation CHotKeyCtrl, consultez Contrôles et utilisation de CHotKeyCtrl.

Hiérarchie d'héritage

CObject

CCmdTarget

CWnd

CHotKeyCtrl

Spécifications

En-tête : afxcmn.h

CHotKeyCtrl ::CHotKeyCtrl

Construit un objet CHotKeyCtrl.

CHotKeyCtrl();

CHotKeyCtrl ::Create

Crée un contrôle de clé chaude et l’attache à un CHotKeyCtrl objet.

virtual BOOL Create(
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Paramètres

dwStyle
Spécifie le style du contrôle de touches chaudes. Appliquez n’importe quelle combinaison de styles de contrôle. Pour plus d’informations, consultez Les styles de contrôle courants dans le Kit de développement logiciel (SDK) Windows.

Rect
Spécifie la taille et la position du contrôle de touches chaudes. Il peut s’agir d’un objet CRect ou d’une structure RECT.

pParentWnd
Spécifie la fenêtre parente du contrôle de touche chaude, généralement un CDialog. Elle ne doit pas être NULL.

nID
Spécifie l’ID du contrôle de touches chaudes.

Valeur de retour

Différent de zéro, si l’initialisation a réussi ; sinon 0.

Notes

Vous construisez un CHotKeyCtrl objet en deux étapes. Tout d’abord, appelez le constructeur, puis appelez Create, ce qui crée le contrôle de clé chaude et l’attache à l’objet CHotKeyCtrl .

Si vous souhaitez utiliser des styles windows étendus avec votre contrôle, appelez CreateEx au lieu de Create.

CHotKeyCtrl ::CreateEx

Appelez cette fonction pour créer un contrôle (fenêtre enfant) et l’associer à l’objet CHotKeyCtrl .

virtual BOOL CreateEx(
    DWORD dwExStyle,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Paramètres

dwExStyle
Spécifie le style étendu du contrôle en cours de création. Pour obtenir la liste des styles Windows étendus, consultez le paramètre dwExStyle pour CreateWindowEx dans le Kit de développement logiciel (SDK) Windows.

dwStyle
Spécifie le style du contrôle de touches chaudes. Appliquez n’importe quelle combinaison de styles de contrôle. Pour plus d’informations, consultez Styles de contrôle courants dans le Kit de développement logiciel (SDK) Windows.

Rect
Référence à une structure RECT décrivant la taille et la position de la fenêtre à créer, dans les coordonnées clientes de pParentWnd.

pParentWnd
Pointeur vers la fenêtre qui est le parent du contrôle.

nID
ID de la fenêtre enfant du contrôle.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

Utilisez CreateEx plutôt que Créer pour appliquer des styles Windows étendus, spécifiés par le préface de style étendu Windows WS_EX_.

CHotKeyCtrl ::GetHotKey

Récupère le code de touche virtuelle et les indicateurs de modificateur d’un raccourci clavier à partir d’un contrôle de touches chaudes.

DWORD GetHotKey() const;

void GetHotKey(
    WORD& wVirtualKeyCode,
    WORD& wModifiers) const;

Paramètres

wVirtualKeyCode
[out] Code de touche virtuelle du raccourci clavier. Pour obtenir la liste des codes de clé virtuelle standard, consultez Winuser.h.

wModifiers
[out] Combinaison de bits (OR) d’indicateurs qui indiquent les touches de modificateur dans le raccourci clavier.

Les indicateurs de modificateur sont les suivants :

Indicateur Clé correspondante
HOTKEYF_ALT touche ALT
HOTKEYF_CONTROL Touche Ctrl
HOTKEYF_EXT Clé étendue
HOTKEYF_SHIFT Touche Maj

Valeur de retour

Dans la première méthode surchargée, DWORD qui contient le code de clé virtuelle et les indicateurs de modificateur. L’octet de bas ordre du mot de bas ordre contient le code de clé virtuelle, l’octet de classement élevé du mot de bas ordre contient les indicateurs de modificateur et le mot de classement élevé est égal à zéro.

Notes

Le code de touche virtuelle et les touches de modification définissent ensemble le raccourci clavier.

CHotKeyCtrl ::GetHotKeyName

Appelez cette fonction membre pour obtenir le nom localisé de la clé chaude.

CString GetHotKeyName() const;

Valeur de retour

Nom localisé de la clé chaude actuellement sélectionnée. S’il n’existe aucune clé chaude sélectionnée, GetHotKeyName retourne une chaîne vide.

Notes

Le nom retourné par cette fonction membre provient du pilote de clavier. Vous pouvez installer un pilote de clavier non localisé dans une version localisée de Windows, et vice versa.

CHotKeyCtrl ::GetKeyName

Appelez cette fonction membre pour obtenir le nom localisé de la clé affectée à un code de clé virtuelle spécifié.

static CString GetKeyName(
    UINT vk,
    BOOL fExtended);

Paramètres

Vk
Code de clé virtuelle.

fExtended
Si le code de clé virtuelle est une clé étendue, TRUE ; sinon FALSE.

Valeur de retour

Nom localisé de la clé spécifiée par le paramètre vk . Si la clé n’a pas de nom mappé, GetKeyName retourne une chaîne vide.

Notes

Le nom de clé retourné par cette fonction provient du pilote de clavier. Vous pouvez donc installer un pilote de clavier non localisé dans une version localisée de Windows, et vice versa.

Exemple

CString str;
str = CHotKeyCtrl::GetKeyName(VK_CONTROL, FALSE);
// str is now "Ctrl", or the localized equivalent.

CHotKeyCtrl ::SetHotKey

Définit le raccourci clavier d’un contrôle de touche chaude.

void SetHotKey(
    WORD wVirtualKeyCode,
    WORD wModifiers);

Paramètres

wVirtualKeyCode
[in] Code de touche virtuelle du raccourci clavier. Pour obtenir la liste des codes de clé virtuelle standard, consultez Winuser.h.

wModifiers
[in] Combinaison de bits (OR) d’indicateurs qui indiquent les touches de modificateur dans le raccourci clavier.

Les indicateurs de modificateur sont les suivants :

Indicateur Clé correspondante
HOTKEYF_ALT touche ALT
HOTKEYF_CONTROL Touche Ctrl
HOTKEYF_EXT Clé étendue
HOTKEYF_SHIFT Touche Maj

Notes

Le code de touche virtuelle et les touches de modification définissent ensemble le raccourci clavier.

CHotKeyCtrl ::SetRules

Appelez cette fonction pour définir les combinaisons non valides et la combinaison de modificateurs par défaut pour un contrôle de touches chaudes.

void SetRules(
    WORD wInvalidComb,
    WORD wModifiers);

Paramètres

wInvalidComb
Tableau d’indicateurs qui spécifie des combinaisons de touches non valides. Il peut s’agir d’une combinaison des valeurs suivantes :

  • HKCO Mo_A ALT

  • HKCO Mo_C Ctrl

  • HKCO Mo_CA Ctrl+Alt

  • HKCO Mo_NONE clés non modifiées

  • HKCO Mo_S SHIFT

  • HKCO Mo_SA Maj+Alt

  • HKCO Mo_SC Maj+Ctrl

  • HKCO Mo_SCA Maj+Ctrl+Alt

wModifiers
Tableau d’indicateurs qui spécifie la combinaison de touches à utiliser lorsque l’utilisateur entre une combinaison non valide. Pour plus d’informations sur les indicateurs de modificateur, consultez GetHotKey.

Notes

Lorsqu’un utilisateur entre une combinaison de touches non valide, telle que définie par les indicateurs spécifiés dans wInvalidComb, le système utilise l’opérateur OR pour combiner les clés entrées par l’utilisateur avec les indicateurs spécifiés dans wModifiers. La combinaison de touches résultante est convertie en chaîne, puis affichée dans le contrôle de touches chaudes.

Voir aussi

CWnd, classe
Graphique hiérarchique