Partager via


Éditeur d’accélérateurs (C++)

Une table d’accélérateurs est une ressource Windows C++ qui contient une liste de touches accélérateur (appelées touches de raccourci) et les identificateurs de commandes qui leur sont associés. Un programme peut avoir plusieurs tables d’accélérateurs.

Normalement, les accélérateurs sont utilisés comme raccourcis clavier pour des commandes de programme qui sont également disponibles dans un menu ou une barre d’outils. Toutefois, vous pouvez utiliser la table d’accélérateurs pour définir des combinaisons de touches pour des commandes qui ne sont associées à aucun objet d’interface utilisateur.

Conseil

Lors de l’utilisation de l’Éditeur d’accélérateurs, cliquez avec le bouton droit pour afficher un menu contextuel de commandes fréquentes. Les commandes disponibles varient selon la cible du pointeur.

Vous pouvez utiliser Affichage de classes pour raccorder des commandes de touches accélérateur à du code. Pour obtenir la liste des touches accélérateur prédéfinies, consultez Touches accélérateur.

Remarque

Windows ne vous permet pas de créer des tables d’accélérateurs vides. Si vous créez une table d’accélérateurs sans entrée, elle est supprimée automatiquement lorsque vous l’enregistrez.

Propriétés d’accélérateur

Vous pouvez définir les propriétés d’un accélérateur dans la fenêtre Propriétés à tout moment. Vous pouvez également utiliser l’Éditeur d’accélérateurs pour modifier les propriétés d’un accélérateur dans la table d’accélérateurs. Les modifications apportées à l’aide de la fenêtre Propriétés ou de l’Éditeur d’accélérateurs ont le même résultat : elles sont immédiatement répercutées dans la table d’accélérateurs.

La propriété ID référence chaque entrée de table d’accélérateurs dans le code du programme. Cette entrée est la valeur de commande que le programme reçoit lorsqu’un utilisateur appuie sur la touche accélérateur ou une combinaison de touches. Pour faire d’un accélérateur un élément de menu, faites en sorte que l’ID soit identique, et veillez à ce que l’ID de la table d’accélérateurs soit identique à l’ID de la ressource de menu.

Chaque ID d’accélérateur a trois propriétés : Modificateur, Touche et Type.

La propriété Modificateur définit les combinaisons de touches de contrôle pour l’accélérateur.

Remarque

Dans la fenêtre Propriétés, la propriété Modificateur s’affiche sous forme de trois propriétés booléennes distinctes, qui peuvent être contrôlées indépendamment : Alt, Ctrl et Maj.

Voici les entrées légales pour la propriété Modificateur dans la table d’accélérateurs :

Valeur Description
Aucun L’utilisateur appuie uniquement sur la valeur Touche.

Cette valeur est plus efficace avec les valeurs ASCII/ANSI 001 à 026, qui sont interprétées comme ^A à ^Z (Ctrl+A à Ctrl+Z).
Alt L’utilisateur doit appuyer sur Alt avant la valeur Touche.
Ctrl L’utilisateur doit appuyer sur Ctrl avant la valeur Touche. Non valide avec le type ASCII.
Maj L’utilisateur doit appuyer sur Maj avant la valeur Touche.
Ctrl+Alt L’utilisateur doit appuyer sur Ctrl et Alt avant la valeur Touche. Non valide avec le type ASCII.
Ctrl+Maj L’utilisateur doit appuyer sur Ctrl et Maj avant la valeur Touche. Non valide avec le type ASCII.
Alt+Maj L’utilisateur doit appuyer sur Alt et Maj avant la valeur Touche. Non valide avec le type ASCII.
Ctrl+Alt+Maj L’utilisateur doit appuyer sur Ctrl, Alt et Maj avant la valeur Touche. Non valide avec le type ASCII.

La propriété Touche définit la touche effective à utiliser comme accélérateur.

Voici les entrées légales pour la propriété Touche dans la table d’accélérateurs :

Valeur Description
Entier compris entre 0 et 255 au format décimal. La valeur détermine si la valeur est traitée comme ASCII ou ANSI comme suit :

- Les nombres à un chiffre sont toujours interprétés comme la touche correspondante, plutôt que comme des valeurs ASCII ou ANSI.
- Les valeurs comprises entre 1 et 26, lorsqu’elles sont précédées de zéros, sont interprétées comme ^A à ^Z, ce qui représente la valeur ASCII des lettres de l’alphabet lorsqu’elles sont enfoncées avec la touche Ctrl enfoncée.
- Les valeurs comprises entre 27 et 32 sont toujours interprétées comme les valeurs décimales à trois chiffres de 027 à 032.
- Les valeurs comprises entre 033 et 255, précédées ou non de zéros, sont interprétées comme des valeurs ANSI.
Un seul caractère de clavier. Les majuscules A - Z ou les nombres 0 - 9 peuvent être des valeurs ASCII ou de touche virtuelle. Tout autre caractère est ASCII uniquement.
Un seul caractère de clavier dans la plage A - Z (majuscule uniquement), précédé d’un caret (^), par exemple, ^C. Cette option entre la valeur ASCII de la touche lorsqu’elle est enfoncée avec la touche Ctrl enfoncée.
Tout identificateur de touche virtuelle valide. La zone de liste déroulante Touche dans la table d’accélérateurs contient une liste d’identificateurs de touche virtuelle standard.

Remarque

Lorsque vous entrez une valeur ASCII, les options de propriété Modificateur sont limitées. La seule touche de contrôle disponible est la touche Alt.

Conseil

Un raccourci pour définir une touche d’accélérateur consiste à cliquer avec le bouton droit sur une ou plusieurs entrées dans la table d’accélérateurs, puis à choisir Touche suivante enfoncée et à appuyer sur l’une des touches ou combinaisons de touches sur le clavier.

Cette commande Touche suivante enfoncée est également disponible à partir du menu Edition.

La propriété Type détermine si la combinaison de touches de raccourci associée à l’ID d’accélérateur est interprétée comme une valeur de touche ASCII/ANSI ou une combinaison de touches virtuelles (VIRTKEY).

  • Si la propriété Type est ASCII, la propriété Modificateur peut uniquement être None ou Alt, ou elle peut avoir un accélérateur qui utilise la touche Ctrl, comme spécifié en faisant précéder la touche par un ^.

  • Si la propriété Type est VIRTKEY, toute combinaison de valeurs Modificateur et Touche est valide.

Remarque

Si vous souhaitez entrer une valeur dans la table d’accélérateurs et faire en sorte que cette valeur soit traitée comme ASCII/ANSI, sélectionnez le Type de l’entrée dans la table et sélectionnez ASCII dans la liste déroulante. Toutefois, si vous utilisez la commande Touche suivante enfoncée dans le menu Edition pour spécifier la Touche, vous devez modifier la propriété Type de VIRTKEY en ASCII avant d’entrer le code de Touche.

Tables d’accélérateurs

Dans un projet C++, vous pouvez modifier une table d’accélérateurs directement avec une modification sur place dans l’Éditeur d’accélérateurs.

Les procédures ci-dessous font référence à l’utilisation de pages de propriétés standard. Toutefois, la modification sur place et la méthode faisant appel à la page de propriétés ont le même résultat. Les modifications apportées à l’aide de pages de propriétés ou de la modification sur place sont répercutées immédiatement dans la table d’accélérateurs.

Pour modifier une table d'accélérateurs

  1. Ouvrez la table d’accélérateurs en double-cliquant sur son icône dans Affichage des ressources.

  2. Sélectionnez une entrée dans la table, puis sélectionnez pour activer la modification sur place.

  3. Sélectionnez un élément dans la zone de liste déroulante fixe, ou tapez sur place pour apporter des modifications :

    • Pour ID, sélectionnez un élément dans la liste, ou tapez pour effectuer la modification.

    • Pour Modificateur, sélectionnez un élément dans la liste.

    • Pour Touche, sélectionnez un élément dans la liste, ou tapez une touche pour effectuer la modification.

    • Pour Type, sélectionnez ASCII ou VIRTKEY dans la liste.

Pour rechercher une entrée dans une table d'accélérateurs ouverte

  1. Ouvrez la table d’accélérateurs en double-cliquant sur son icône dans Affichage des ressources.

  2. Sélectionnez un en-tête de colonne pour trier le contenu de la colonne par ordre alphabétique. Par exemple, sélectionnez ID pour afficher tous les ID de votre table d’accélérateurs par ordre alphabétique.

    Vous pouvez ensuite examiner la liste et rechercher l'entrée.

Pour ajouter une entrée à une table d'accélérateurs

  1. Ouvrez la table d’accélérateurs en double-cliquant sur son icône dans Affichage des ressources.

  2. Cliquez avec le bouton droit dans la table d’accélérateurs, puis choisissez Nouvel accélérateur, ou sélectionnez la ligne vide en bas de la table.

  3. Sélectionnez un ID dans la liste déroulante de la zone ID, ou tapez un nouvel ID dans la zone ID.

  4. Tapez la Touche que vous souhaitez utiliser en tant qu’accélérateur, ou cliquez avec le bouton droit et choisissez Touche suivante enfoncée pour définir une combinaison de touches, ou accédez au menu Edition>Touche suivante enfoncée.

  5. Changez le Modificateur et le Type, si nécessaire, et appuyez sur Entrée.

Remarque

Assurez-vous que tous les accélérateurs définis sont uniques. Plusieurs combinaisons de touches peuvent être assignées au même ID sans problème. Par exemple, Ctrl+P et F8 peuvent être assignées à ID_PRINT. Toutefois, l’assignation d’une combinaison de touches à plusieurs ID ne fonctionne pas correctement. C’est le cas, par exemple, si la combinaison Ctrl+Z est assignée à ID_SPELL_CHECK et ID_THESAURUS.

Pour supprimer une entrée dans une table d'accélérateurs

  1. Ouvrez la table d’accélérateurs en double-cliquant sur son icône dans Affichage des ressources.

  2. Sélectionnez l’entrée à supprimer, ou maintenez la touche Ctrl ou Maj enfoncée tout en sélectionnant plusieurs entrées.

  3. Cliquez avec le bouton droit et choisissez Supprimer, ou accédez au menu Edition>Supprimer.

Conseil

Vous pouvez également appuyer sur la touche Suppression pour supprimer.

Pour déplacer ou copier une entrée de table d'accélérateurs vers un autre fichier de script de ressources

  1. Ouvrez les tables d’accélérateurs dans les deux fichiers de script de ressources et sélectionnez l’entrée que vous souhaitez déplacer.

  2. Dans le menu Edition, choisissez Copier ou Couper.

  3. Sélectionnez une entrée dans le fichier de script de ressources cible et, dans le menu Edition, choisissez Coller.

Remarque

Vous pouvez également utiliser les touches de raccourci pour les opérations de copie et de collage.

Pour modifier les propriétés de plusieurs touches accélérateur

  1. Ouvrez la table d’accélérateurs en double-cliquant sur son icône dans Affichage des ressources.

  2. Sélectionnez les touches accélérateur que vous souhaitez modifier en maintenant la touche Ctrl enfoncée pendant que vous sélectionnez chacune d’elles.

  3. Accédez à la fenêtre Propriétés et tapez les valeurs que vous souhaitez que tous les accélérateurs sélectionnés partagent.

Remarque

Chaque valeur de modificateur apparaît sous la forme d’une propriété booléenne dans la fenêtre Propriétés. Si vous modifiez une valeur de modificateur dans la fenêtre Propriétés, la table d’accélérateurs traite le nouveau modificateur comme un ajout à tous les modificateurs qui y étaient précédemment présents. Pour cette raison, si vous définissez des valeurs de modificateur, vous devez toutes les définir pour être sûr que chaque accélérateur partage les mêmes paramètres Modificateur.

Spécifications

Win32

Voir aussi

Resource Editors
Touches accélérateur