Delphi: Programm mit ESC Taste beenden
Tipp von Delphianer | Letztes Update am 28.06.2021 | Erstellt am 09.07.2012
In diesem Tipp zeige ich euch, wie ihr euer Delphi- oder Lazarus-Programm mit einem einfachen Druck auf die Escape-Taste (ESC) auf euer Tastatur schließen könnt.
In das OnCreate der Form schreibt ihr folgenden Code oder ihr setzt alternativ einfach KeyPreview im Objekt-Inspektor auf true:
procedure TForm1.FormCreate(Sender: TObject); begin KeyPreview := true; end;
In das OnKeyPress schreibt ihr den folgenden Code (der Code #27 steht dabei für die ESC-Taste):
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char); begin if Key = #27 then Close; end;
Man könnte meinen, dass der untere Code-Schnipsel ausreichend ist, dem ist aber nicht so. Verwendet man nur den unteren Code im OnKeyPress, wird das Programm nur geschlossen, wenn das Fenster den Fokus hat. Hat ein anderes Element (zum Beispiel ein Memo) den Fokus, erhält nur das Memo die Benachrichtigung, dass die entsprechende Taste gedrückt wurde und der Tastendruck kommt bei der Form nicht an.
Wenn wir aber KeyPreview auf true setzen, bekommt immer die Form eine Benachrichtigung, wenn eine Taste gedrückt wurde, bevor dies an das aktive Element weitergegeben wird. Und nur so können wir den Tastenklick auch verarbeiten.
Über den Autor
Der Autor hat keine Kurzbeschreibung seines Profils angegeben.
Profil anzeigen
Ähnliche Themen
MySQL: Zeilenumbrüche in MySQL
Tipp | 0 Kommentare
MacOS: Abgestürzte Programme beenden
Tutorial | 0 Kommentare
Delphi: Systemweiter HotKey
Tutorial | 3 Kommentare
Delphi: Event Reihenfolge einer Form - Von OnCreate bis OnDestroy
Info | 1 Kommentar
jQuery: Tasten auf Tastatur Aktion zuweisen (Keyboard Event)
Tipp | 0 Kommentare
Delphi: Mehrzeilige Caption für TLabel (zur Laufzeit und Design Zeit)
Tutorial | 1 Kommentar
Delphi/Lazarus: Kommandozeilen Parameter Tutorial Teil 1: Senden
Tutorial | 0 Kommentare
Wichtiger Hinweis
Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.
Jetzt mitmachen
Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.