FMX.Controls.TControl.KeyDown

De Appmethod Libraries
Aller à : navigation, rechercher

Object Pascal

procedure KeyDown(var Key: Word; var KeyChar: WideChar; Shift: TShiftState); virtual;

C++

virtual void __fastcall KeyDown(System::Word &Key, System::WideChar &KeyChar, System::Classes::TShiftState Shift);

Propriétés

Type Visibilité  Source Unité  Parent
procedure
function
protected
FMX.Controls.pas
FMX.Controls.hpp
FMX.Controls TControl


Description

Fournit une réponse quand une touche est enfoncée alors que le contrôle détient la focalisation du clavier.

Si la touche enfoncée est la touche Applications (Key = vkApps), alors KeyDown affiche le menu contextuel du contrôle. Sinon, KeyDown appelle le gestionnaire d'événement OnKeyDown s'il est affecté.

TCommonCustomForm et les descendants des classes TControl comme TCustomGrid appellent KeyDown depuis leurs méthodes gérant l'appui de touches. Elles décodent les paramètres du message dans le code de la touche, le code de caractère et l'état Shift. Elles les passent à la méthode KeyDown appelée dans les paramètres Key, KeyChar et Shift, respectivement :

Paramètres Descriptions

Key

Est le code de balayage d'une touche de clavier enfoncée ou $0.

Si une combinaison de touches enfoncées correspond à un raccourci, Key <> 0 est une touche virtuelle et KeyChar = #0.

Les codes de balayage physiques d'une même touche diffèrent selon les plates-formes (Windows ou iOS). Les unités spécifiques à la plate-forme (comme FMX.Platform.Mac.pas, par exemple) devraient traduire les codes de balayage natifs en code Windows correspondants définis dans l'unité UITypes. Par exemple,

vkReturn = $0D; { 13 } correspond à la touche de clavier RETOUR.
vkF2 = $71; { 113 } correspond à la touche de clavier F2.

KeyChar

Est le caractère clavier enfoncé (chiffre) ou #0.

Si une combinaison de touches enfoncées peut être traitée comme un caractère imprimable ou un chiffre, Key = 0 et KeyChar contient un symbole enfoncé selon le langage d'entrée du clavier en cours, le mode du clavier (touches VERR. MAJ et VERR. NUM.), l'état Shift du clavier et l'état IME. Les éditeurs peuvent utiliser ce symbole pour effectuer des ajouts au sein d'un texte en cours d'édition.

Shift

Indique quelles touches mortes -- MAJ, CTRL, ALT et CMD (uniquement sur le Mac) -- étaient appuyées quand la touche spécifiée a été enfoncée, avec le contrôle détenant la focalisation.

Si le contrôle a traité avec succès la combinaison de touches enfoncées et qu'aucun autre traitement n'est requis, KeyDown assigne Key = 0 et KeyChar = #0.

Redéfinissez la méthode protégée KeyDown pour fournir d'autres réponses quand une touche est enfoncée alors que le contrôle détient la focalisation d'entrée au clavier.

Voir TCommonCustomForm.KeyDown pour plus d'informations sur les paramètres.

Voir aussi