22 Voix

Delphi/Lazarus: Fermer Programme avec la Touche ESC

Conseil de Delphiain | 23/06/2021 à 15:18

Dans ce tutoriel, je voudrais vous montrer comment vous pouvez quitter votre application Delphi ou Lazarus en appuyant simplement sur la touche d'échappement (ESC) de votre clavier.

Dans le OnCreate du Form, vous devez écrire le code suivant, ou alternativement, vous pouvez définir KeyPreview dans l'Object Inspector sur true.

procedure TForm1.FormCreate(Sender: TObject);
begin
   KeyPreview := true;
end;

Dans le OnKeyPress, vous devez écrire le code suivant (le code #27 signifie ESC):

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
   if Key = #27 then Close;
end;

On pourrait penser que l'extrait de code inférieur est suffisant, mais ce n'est pas vrai. Si vous n'écrivez que le code inférieur dans votre OnKeyPress, le programme ne se fermera que si la fenêtre de votre programme a le focus. Si un autre élément (par exemple, un Mémo) a le focus, seul le Mémo reçoit le message indiquant que la touche a été enfoncée et non le formulaire.

Mais si nous définissons KeyPreview sur true, le formulaire reçoit toujours une notification lorsqu'une touche est enfoncée avant qu'elle ne soit transmise à l'élément actif. Et c'est la seule façon de gérer l'événement de touche ESC.

RépondrePositifNégatif

Sur l’Auteur

AvatarL’auteur n’a pas encore ajouté de brève description de profil.
Voir Profil

 

Sujets Connexes

Avis Important

Veuillez noter: Les contributions publiées sur askingbox.com sont des contributions d’utilisateurs et ne doivent pas remplacer les conseils d’un professionnel. Ils ne sont pas vérifiés par des indépendants et ne reflètent pas nécessairement l’opinion de askingbox.com. Apprendre encore plus.

Participer

Posez votre propre question ou écrivez votre propre article sur askingbox.com. Voici comment.