Thema: Delphi Wie fange ich ESC ab?

Einzelnen Beitrag anzeigen

mkmk

Registriert seit: 2. Dez 2008
Ort: Zürich
42 Beiträge
 
#1

Wie fange ich ESC ab?

  Alt 7. Dez 2008, 14:31
Guten Tag allerseits

In meinem Program verwende ich die Zeilen aus Schleife per Tastendruck unterbrechen
Nur: in meiner Form habe ich auch ein FormKeyPress, wo ich mit ESC die Application schliesse.
Wenn ich also in meiner Schleife auf PAUSE drücke, dann kann ich aus der Schleife ausbrechen.
Wenn ich aber ESC drücke (Edit: bei ausgeklammerten MessageDlg), schliesst das Programm.

Ich habe dann mal so auf gut Glück in die Funktion EscPressed ein
while PeekMessage(Msg, 0, WM_KEYFIRST, WM_KEYLAST, PM_REMOVE) do; mit all seinen möglichen Variationen hinzugefügt. Hat aber nichts gebracht. Sobald ich ESC drücke, schliesst das Programm.

Jetzt könnte ich eine globale Variable "beiEscNichtSchliessen" definieren und diese vor der Schleife auf TRUE setzen und diese dann in FormKeyPress testen.
Aber ich bin sicher, dass es eine elegantere Lösung dafür geben muss. Oder?


PS (als Edit): Vielleicht sollte ich erwaehnen, dass die in Schleife per Tastendruck unterbrechen vorgesehene MessageDlg bei mir bei einem ESC nie zum Zuge kommt. Das DialogFenster flackert nur ganz kurz und verschwindet dann. Bei einem Drücken auf PAUSE hingegen funktioniert alles bestens.
Und wenn ich diese Zeilen mit dem MessageDlg ausklammere, schliesst mein Programm bei einem ESC.
  Mit Zitat antworten Zitat