Représentation des touches et des raccourcis
Remonter à Utilisation de la RTL dans les applications multi-périphériques
Cette page explique les différentes méthodes que vous pouvez utiliser pour représenter des touches ou des raccourcis (combinaisons de touches).
Sommaire
- 1 Représentation des touches
- 1.1 Représentation des touches lettres
- 1.2 Représentation des touches numériques
- 1.3 Représentation des touches symboles
- 1.4 Représentation des touches d'édition
- 1.5 Représentation des touches de navigation
- 1.6 Représentation des touches modificatrices
- 1.7 Représentation des touches fonctions
- 1.8 Représentation des touches de verrouillage
- 1.9 Représentation des touches du pavé numérique
- 1.10 Représentation des touches multimédia
- 1.11 Représentation des boutons
- 1.12 Représentation des touches de saisie du langage
- 1.13 Représentation des autres touches
- 2 Représentation des raccourcis
- 3 Spécification de touches accélératrices
- 4 Basculer entre la représentation code et chaîne
- 5 Voir aussi
Représentation des touches
Pour représenter une seule touche, vous pouvez utiliser un code ou une chaîne. Les tableaux suivants présentent une liste complète des codes et des chaînes que vous pouvez utiliser pour représenter chaque touche.
Les tableaux suivants n'affichent pas de représentation chaîne pour certaines touches car le framework de l'interface utilisateur n'est pas responsable de la représentation chaîne de ces touches. A la place, le système d'exploitation sur lequel votre application est exécutée fournit la représentation chaîne de ces touches. Les tableaux suivants n'indiquent pas les représentations chaîne fournies par le système d'exploitation car elles peuvent varier ; par exemple, Windows fournit des noms de touche spécifiques aux paramètres locaux (EN).
Représentation des touches lettres
Touche | Représentation code | Représentation chaîne |
---|---|---|
Constante (System.UITypes) | Chaîne | |
|
|
A |
|
|
B |
|
|
C |
|
|
D |
|
|
E |
|
|
F |
|
|
G |
|
|
H |
|
|
I |
|
|
J |
|
|
K |
|
|
L |
|
|
M |
|
|
N |
|
|
O |
|
|
P |
|
|
Q |
|
|
R |
|
|
S |
|
|
T |
|
|
U |
|
|
V |
|
|
W |
|
|
X |
|
|
Y |
|
|
Z |
Représentation des touches numériques
Touche | Représentation code | Représentation chaîne |
---|---|---|
Constante (System.UITypes) | Chaîne | |
|
|
0 |
|
|
1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
7 |
|
|
8 |
|
|
9 |
Représentation des touches symboles
Touche | Représentation code | Représentation chaîne |
---|---|---|
Constante (System.UITypes) | Chaîne | |
Barre oblique inversée |
|
\ |
Parenthèse (ouvrante) |
|
[ |
Parenthèse (fermante) |
|
] |
Virgule |
|
, |
Signe égal |
|
= |
Signe moins |
|
- |
Point |
|
. |
Guillemet |
|
' |
Point-virgule |
|
; |
Barre oblique |
|
/ |
Tilde |
|
~ |
Représentation des touches d'édition
Touche | Représentation code | Représentation chaîne | |
---|---|---|---|
Constante (System.UITypes) | Constante (FMX.Consts, Vcl.Consts) | Chaîne | |
|
|
|
BkSp |
|
|
|
Del |
|
|
|
Enter |
|
|
|
Ins |
|
|
|
Space |
|
|
|
Tab |
Touche | Représentation code | Représentation chaîne | |
---|---|---|---|
Constante (System.UITypes) | Constante (FMX.Consts, Vcl.Consts) | Chaîne | |
|
|
|
Esc |
|
|
|
PgUp |
|
|
|
PgDn |
|
|
|
End |
|
|
|
Home |
|
|
|
Left |
|
|
|
Up |
|
|
|
Right |
|
|
|
Down |
Représentation des touches modificatrices
Touche | Représentation code | Représentation chaîne | |
---|---|---|---|
Constante System.Classes | Constante (FMX.Consts, Vcl.Consts) | Chaîne | |
|
|
|
|
|
|
|
|
|
|
|
|
| |||
|
|
|
|
La plupart des ordinateurs exécutant Windows n'ont pas de touche Cmd
, tout comme la plupart des ordinateurs exécutant macOS n'ont pas de touche Ctrl
. Pensez-y lorsque vous configurez les raccourcis de votre application. Vous pouvez définir vos raccourcis à l'exécution et utiliser la compilation conditionnelle pour configurer le raccourci adapté à chaque plate-forme. Par exemple :
Delphi :
{$IF defined(MSWINDOWS)}
MenuItem1.ShortCut := TextToShortCut('Ctrl+N');
{$ELSEIF defined(MACOS) and not defined(IOS)}
MenuItem1.ShortCut := TextToShortCut('Cmd+N');
{$ENDIF}
C++ :
#if defined(_WIN32)
MenuItem1->ShortCut = TextToShortCut("Ctrl+N");
#elif defined(__APPLE__) && (defined(__i386__) or defined(__x86_64__))
MenuItem1->ShortCut = TextToShortCut("Cmd+N");
#endif
Vous pouvez également représenter les touches modificatrices comme des touches normales en utilisant les constantes et les chaînes suivantes :
Touche | Représentation code | Représentation chaîne | |
---|---|---|---|
Constante (System.UITypes) | Constante (FMX.Consts) | Chaîne | |
|
|
Alt | |
|
|
|
Left Alt |
|
|
|
Right Alt |
|
|
Ctrl | |
|
|
|
Left Ctrl |
|
|
|
Right Ctrl |
|
|
Shift | |
|
|
|
Left Shift |
|
|
|
Right Shift |
|
|
|
Left Win |
|
|
|
Right Win |
Représentation des touches fonctions
Touche | Représentation code | Représentation chaîne |
---|---|---|
Constante (System.UITypes) | Chaîne | |
|
|
F1 |
|
|
F2 |
|
|
F3 |
|
|
F4 |
|
|
F5 |
|
|
F6 |
|
|
F7 |
|
|
F8 |
|
|
F9 |
|
|
F10 |
|
|
F11 |
|
|
F12 |
|
|
F13 |
|
|
F14 |
|
|
F15 |
|
|
F16 |
|
|
F17 |
|
|
F18 |
|
|
F19 |
|
|
F20 |
|
|
F21 |
|
|
F22 |
|
|
F23 |
|
|
F24 |
Représentation des touches de verrouillage
Touche | Représentation code | Représentation chaîne | |
---|---|---|---|
Constante (System.UITypes) | Constante (FMX.Consts) | Chaîne | |
|
|
|
Caps Lock |
|
|
|
Num Lock |
|
|
|
Scroll Lock |
Représentation des touches du pavé numérique
Touche | Représentation code | Représentation chaîne |
---|---|---|
Constante (System.UITypes) | Chaîne | |
|
|
Num 0 |
|
|
Num 1 |
|
|
Num 2 |
|
|
Num 3 |
|
|
Num 4 |
|
|
Num 5 |
|
|
Num 6 |
|
|
Num 7 |
|
|
Num 8 |
|
|
Num 9 |
|
|
Num * |
|
|
Num + |
|
|
Num , |
|
|
Num - |
|
|
Num . |
|
|
Num / |
Représentation des touches multimédia
Touche | Représentation code | Représentation chaîne | |
---|---|---|---|
Constante (System.UITypes) | Constante (FMX.Consts) | Chaîne | |
Navigateur : Précédent |
|
|
BrowserBack |
Navigateur : Suivante |
|
||
Navigateur : Actualiser |
|
||
Navigateur : Arrêter |
|
||
Navigateur : Rechercher |
|
||
Navigateur : Favoris |
|
||
Navigateur : Accueil |
|
||
Camera |
|
|
Camera |
Démarrage : Email |
|
||
Démarrage : Sélection du média |
|
||
Démarrage : App 1 |
|
||
Démarrage : App 2 |
|
||
Lecteur multimédia : Piste suivante |
|
||
Lecteur multimédia : Piste précédente |
|
||
Lecteur multimédia : Arrêter |
|
||
Lecteur multimédia : Lire/Suspendre |
|
||
Volume : Muet |
|
||
Volume : Baisser |
|
||
Volume : Augmenter |
|
Représentation des boutons
Bouton | Représentation code |
---|---|
Constante (System.UITypes) | |
Bouton gauche de la souris |
|
Bouton droit de la souris |
|
Bouton central de la souris |
|
Bouton X1 de la souris |
|
Bouton X2 de la souris |
|
Représentation des touches de saisie du langage
Touche | Représentation code |
---|---|
Mode Kana IME |
|
Mode Hangul IME |
|
Mode Junga IME |
|
Mode final IME |
|
Mode Hanja IME |
|
Mode Kanji IME |
|
Conversion IME |
|
Non conversion IME |
|
Acceptation IME |
|
Demande de changement de mode IME |
|
Traitement IME |
|
Représentation des autres touches
Touche | Représentation code | Représentation chaîne | |
---|---|---|---|
Constante (System.UITypes) | Constante (FMX.Consts) | Chaîne | |
|
|
||
|
|
|
HardwareBack |
|
|
|
Break |
|
|
|
Clear |
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
Passage à la ligne |
|
||
|
|
|
Application |
OEM 102 |
|
|
OEM \ |
Touche Effacer spécifique à l'OEM |
|
||
Ico 00 spécifique à l'OEM |
|
||
Ico Effacer spécifique à l'OEM |
|
||
Ico Aide spécifique à l'OEM |
|
||
|
|
||
Paquet |
|
||
Paragraphe |
|
|
Paragraphe |
|
|
|
Pause |
|
|
||
|
|
||
|
|
||
Réservée |
|
||
|
|||
|
|
||
|
|
||
Pas de touche |
|
Représentation des raccourcis
Les sections suivantes expliquent comment représenter un raccourci en tant qu'instance de TShortCut ou en tant que chaîne.
Représentation des raccourcis en tant qu'instances de TShortCut
Pour définir un raccourci en tant qu'instance de System.Classes.TShortCut, joignez le code d'une touche standard et les codes des touches modificatrices en utilisant l'opérateur au niveau du bit OR. Par exemple :
Delphi :
Shortcut := vkZ or scShift or scCtrl;
C++ :
Shortcut = vkZ | scShift | scCtrl;
Représentation des raccourcis en tant que chaînes
Pour définir un raccourci en utilisant une chaîne, vous pouvez simplement concaténer les touches, et placer la touche principale à la fin. Voici des exemples de chaînes qui représentent des raccourcis :
- ^P (
Ctrl
+P
) - Maj+Ctrl+Z (
Shift
+Ctrl
+Z
)
Spécification de touches accélératrices
Sur les plates-formes Windows, les touces accélératrices permettent à l'utilisateur d'accéder à des contrôles en utilisant seulement des entrées clavier, par exemple en enfonçant la combinaison de touches Alt+<touche_accélératrice>
. Une touche accélératrice est affichée sous la forme d'une lettre soulignée dans la propriété Caption ou Text de votre contrôle. Pour spécifier une touche accélératrice dans votre code, précédez une <touche_accélératrice>
d'une esperluette &
dans la propriété Caption ou Text de votre contrôle. La lettre suivant l'esperluette apparaît soulignée dans la légende/le texte du contrôle. Par exemple, pour définir le caractère S
comme touche accélératrice pour un bouton Eave
, tapez &Enregistrer
dans la propriété Text. Sur certains contrôles, la <touche_accélératrice>
e apparaît soulignée seulement quand la touche Alt
est enfoncée.
- Remarque : Cette fonctionnalité ne fonctionne que sur les plates-formes Windows. Lorsqu'elle est exécutée sur d'autres plates-formes, l'esperluette est retirée du texte.
Comme une esperluette &
dans une propriété Caption/Text est traitée comme une instruction de soulignage de la lettre suivante, un seul caractère esperluette ne sera pas affiché dans la légende/le texte du contrôle correspondant. Pour montrer un seul caractère esperluette &
dans une légende/un texte, spécifiez deux esperluettes comme suit : &&
.
Basculer entre la représentation code et chaîne
Dans le cas d'une instance de System.Classes.TShortCut représentant une touche ou un raccourci, vous pouvez utiliser les méthodes suivantes pour obtenir la représentation chaîne de cette touche ou de ce raccourci :
A l'inverse, dans le cas d'une représentation chaîne de la touche ou du raccourci, vous pouvez utiliser les méthodes suivantes pour obtenir une instance de TShortCut représentant cette touche ou ce raccourci :
En utilisant ces fonctions, vous pouvez facilement définir le raccourci d'un élément du menu ou un autre contrôle à l'exécution à l'aide de la représentation chaîne du raccourci plutôt qu'à l'aide de sa représentation code. Ainsi, votre code est plus lisible :
Delphi :
MenuItem1.ShortCut := TextToShortCut('Cmd+N');
C++ :
MenuItem1->ShortCut = TextToShortCut("Cmd+N");