Share via


CMFCKeyMapDialog, classe

La CMFCKeyMapDialog classe prend en charge un contrôle qui mappe les commandes aux touches du clavier.

Syntaxe

class CMFCKeyMapDialog : public CDialogEx

Membres

Constructeurs publics

Nom Description
CMFCKeyMapDialog ::CMFCKeyMapDialog Construit un objet CMFCKeyMapDialog.

Méthodes publiques

Nom Description
CMFCKeyMapDialog ::D oModal Affiche une boîte de dialogue de mappage de clavier.

Méthodes protégées

Nom Description
CMFCKeyMapDialog ::FormatItem Appelé par l’infrastructure pour générer une chaîne qui décrit un mappage de clé. Par défaut, la chaîne contient le nom de la commande, les touches de raccourci utilisées et la description de la touche de raccourci.
CMFCKeyMapDialog ::GetCommandKeys Récupère une chaîne qui contient une liste de touches de raccourci associées à la commande spécifiée.
CMFCKeyMapDialog ::OnInsertItem Appelé par l’infrastructure avant qu’un nouvel élément soit inséré dans le contrôle de liste interne qui prend en charge le contrôle de mappage de clavier.
CMFCKeyMapDialog ::OnPrintHeader Appelé par l’infrastructure pour imprimer l’en-tête de la carte clavier sur une nouvelle page.
CMFCKeyMapDialog ::OnPrintItem Appelé par l’infrastructure pour imprimer un élément de mappage de clavier.
CMFCKeyMapDialog ::OnSetColumns Appelé par l’infrastructure pour définir des légende pour les colonnes du contrôle de liste interne qui prend en charge le contrôle de mappage de clavier.
CMFCKeyMapDialog ::P rintKeyMap Appelé par l’infrastructure lorsqu’un utilisateur clique sur le bouton Imprimer .
CMFCKeyMapDialog ::SetColumnsWidth Appelé par l’infrastructure pour définir la largeur des colonnes dans le contrôle de liste interne qui prend en charge le contrôle de mappage de clavier.

Notes

Utilisez la CMFCKeyMapDialog classe pour implémenter une boîte de dialogue de mappage de clavier redimensionnable. La boîte de dialogue utilise un contrôle d’affichage de liste pour afficher les raccourcis clavier et leurs commandes associées.

Pour utiliser la CMFCKeyMapDialog classe dans une application, passez un pointeur vers la fenêtre de cadre principale en tant que paramètre du CMFCKeyMapDialog constructeur. Appelez ensuite la DoModal méthode pour démarrer une boîte de dialogue modale.

Hiérarchie d'héritage

CObject

CCmdTarget

CWnd

CDialog

CDialogEx

CMFCKeyMapDialog

Spécifications

En-tête : afxkeymapdialog.h

CMFCKeyMapDialog ::CMFCKeyMapDialog

Construit un objet CMFCKeyMapDialog.

CMFCKeyMapDialog(
    CFrameWnd* pWndParentFrame,
    BOOL bEnablePrint=FALSE);

Paramètres

pWndParentFrame
[in] Pointeur vers la fenêtre parente de l’objet CMFCKeyMapDialog .

bEnablePrint
[in] TRUE si la liste des touches d’accélérateur peut être imprimée ; sinon, FALSE. La valeur par défaut est FALSE.

Notes

Exemple

L’exemple suivant montre comment construire un objet de la CMFCKeyMapDialog classe. Cet exemple fait partie de l’exemple de démonstration Visual Studio.

// this points to a CMainFrame class which extends the 
// CMDIFrameWndEx class
CMFCKeyMapDialog dlg(this, TRUE /* Enable Print */);

CMFCKeyMapDialog ::D oModal

Affiche une boîte de dialogue de mappage de clavier.

virtual INT_PTR DoModal();

Valeur de retour

Entier signé, tel que IDOK ou IDCANCEL, transmis à la méthode CDialog ::EndDialog . La méthode, à son tour, ferme la boîte de dialogue. Pour plus d’informations, consultez CDialog ::D oModal.

Notes

La boîte de dialogue mappage de clavier vous permet de sélectionner et d’affecter des touches d’accélérateur à différentes catégories de commandes. En outre, vous pouvez copier les touches d’accélérateur sélectionnées et leur description dans le Presse-papiers.

CMFCKeyMapDialog ::FormatItem

Appelé par l’infrastructure pour générer une chaîne qui décrit un mappage de clé. Par défaut, la chaîne contient le nom de la commande, les touches de raccourci utilisées et la description de la touche de raccourci.

virtual CString FormatItem(int nItem) const;

Paramètres

nItem
[in] Index de base zéro d’un élément dans la liste interne des mappages de clés.

Valeur de retour

Objet CString qui contient le texte de l’élément mis en forme.

Notes

CMFCKeyMapDialog ::GetCommandKeys

Récupère une valeur de chaîne. La chaîne contient une liste de touches de raccourci associées à une commande spécifiée.

virtual CString GetCommandKeys(UINT uiCmdID) const;

Paramètres

uiCmdID
[in] ID de commande.

Valeur de retour

Liste délimitée (';') par des points-virgules des touches de raccourci associée à la commande spécifiée.

Notes

CMFCKeyMapDialog ::OnInsertItem

Appelé par l’infrastructure avant qu’un nouvel élément soit inséré dans un contrôle de liste interne qui prend en charge le contrôle de mappage de clavier.

virtual void OnInsertItem(
    CMFCToolBarButton* pButton,
    int nItem);

Paramètres

pButton
[in] Pointeur vers un bouton de barre d’outils utilisé pour mapper une combinaison de touches clavier à un nom de commande et une description. L’élément de mappage de clés est stocké dans un contrôle de liste interne.

nItem
[in] Index de base zéro qui spécifie où insérer le nouvel élément de mappage de clé dans le contrôle de liste interne.

Notes

CMFCKeyMapDialog ::OnPrintHeader

Appelé par l’infrastructure pour imprimer l’en-tête de la carte clavier sur une nouvelle page.

virtual int OnPrintHeader(
    CDC& dc,
    int nPage,
    int cx) const;

Paramètres

dc
[in] Contexte de l’appareil pour l’imprimante.

nPage
[in] Numéro de page à imprimer.

Cx
[in] Décalage horizontal de l’en-tête, en pixels.

Valeur de retour

Si elle réussit, la hauteur du texte imprimé. Pour plus d’informations, consultez la section Valeur de retour de CDC ::D rawText.

Notes

L’infrastructure utilise cette méthode pour imprimer la carte de clavier. Par défaut, cette méthode imprime le numéro de page, le nom de l’application et le titre de la boîte de dialogue.

CMFCKeyMapDialog ::OnPrintItem

Appelé par l’infrastructure pour imprimer un élément de mappage de clavier.

virtual int OnPrintItem(
    CDC& dc,
    int nItem,
    int y,
    int cx,
    BOOL bCalcHeight) const;

Paramètres

dc
[in] Contexte de l’appareil de l’imprimante.

nItem
[in] Index de base zéro de l’élément à imprimer.

y
[in] Décalage vertical entre le haut de la page et la position de l’élément.

Cx
[in] Décalage horizontal entre la gauche de la page et la position de l’élément.

bCalcHeight
[in] TRUE pour calculer la meilleure hauteur pour l’élément d’impression ; FALSE pour tronquer l’élément d’impression afin qu’il corresponde à l’espace par défaut.

Valeur de retour

Hauteur de l’élément imprimé.

Notes

L’infrastructure appelle cette méthode pour imprimer un élément de boîte de dialogue de carte de clés. Par défaut, cette méthode imprime le nom de la commande, les touches de raccourci et la description de la commande de l’élément.

CMFCKeyMapDialog ::OnSetColumns

Appelé par l’infrastructure pour définir des légende pour les colonnes du contrôle de liste interne qui prend en charge le contrôle de mappage de clavier.

virtual void OnSetColumns();

Notes

Par défaut, cette méthode obtient les légende pour les colonnes à partir de trois ressources. La colonne de commande légende provient de IDS_AFXBARRES_COMMAND, la colonne clé légende provient de IDS_AFXBARRES_KEYS et la colonne de description légende provient de IDS_AFXBARRES_DESCRIPTION.

CMFCKeyMapDialog ::P rintKeyMap

Appelé par l’infrastructure lorsqu’un utilisateur clique sur le bouton Imprimer .

virtual void PrintKeyMap();

Notes

La PrintKeyMap méthode imprime la carte de clés. Il lance un nouveau travail d’impression, puis appelle à plusieurs reprises les méthodes CMFCKeyMapDialog ::OnPrintHeader et CMFCKeyMapDialog ::OnPrintItem jusqu’à ce que tous les mappages de clés soient imprimés.

CMFCKeyMapDialog ::SetColumnsWidth

Appelé par l’infrastructure pour définir la largeur des colonnes dans le contrôle de liste interne qui prend en charge le contrôle de mappage de clavier.

virtual void SetColumnsWidth();

Notes

Cette méthode définit les colonnes du contrôle de liste interne sur les largeurs par défaut. Tout d’abord, la largeur de la colonne des touches de raccourci est calculée. Ensuite, un tiers de la largeur restante est allouée à la colonne de commande et les deux tiers restants sont alloués à la colonne de description.

Voir aussi

Graphique hiérarchique
Classes
CKeyboardManager, classe