Salut.
J'ai participé il y a un bout de temps à une discussion portant sur comment Devier l'evenement de la touche Entrer
La méthode proposée ici et là s'applique sur un TEdit en particulier.
Seulement, s'il y a plusieurs zones Edit sur la fenêtre, il faudra définir la même action pour tous.
Bien sûr on peut le faire de façon (plus ou moins) élégante en associant la même méthode aux OnKeyDown ou aux OnKeyPress de tous les TEdit à partir de l'inspecteur d'objet ou dans le code. Cette astuce m'a l'air quelque peu tirée par les cheveux.
J'ai donc essayé d'exploiter le KeyPreview (qui permet à la fiche d'intercepter les touches clavier avant les autres contrôles). C'est déjà mieux puisque je ne définit que le OnKeyPress ou le OnKeyDown de la fiche pour avoir mon action de validation.
Seul hic, le son est de retour !
J'ai bien essayé de faire undans le OnKeyDown de la fiche après mon action de validation (et son équivalent pour le OnKeyPress), rien n'y fait, les zones Edit reçoivent bien l'action de la touche Entrer et produise donc un son.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Key := 0;
Il faudrait donc trouver comment annuler la propagation de l'action clavier après son interception par la fiche.
Quelqu'un aurait une méthode "simple" pour faire cela?
(bien sûr "simple" exclus l'utilisation des Message et autres trucs tordus de Delphi )
Partager