Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Alt+F4 abfangen (https://www.delphipraxis.net/14438-alt-f4-abfangen.html)

Praktikant 9. Jan 2004 14:09


Alt+F4 abfangen
 
Auch wenn der Punkt bei den Newbie FAQs auftaucht trotzdem die Frage, da die FAQ null auschluß ergibt.

Das Proggi das ich schreibe darf nicht einfach so mit Alt+F4 beendet werden, aber die Frage íst wie ich das verhindere.

Durch die MSDN Sites steige ich nicht durch :stupid:

Thunderchild 9. Jan 2004 14:19

Re: Alt+F4 abfangen
 
Das Einfachste wäre, Du erstellst Dir ne Aktion, die Alt+F4 als Shortcut hat.

Praktikant 9. Jan 2004 14:35

Re: Alt+F4 abfangen
 
naja, so richtig einfach ist das nicht, müßte ja dann für jedes Formular eine Aktion erstellen?!

Und da ich schon bei so HausNr 20 bin... :|

Phoenix 9. Jan 2004 14:37

Re: Alt+F4 abfangen
 
Deine Anwendung läuft beim Druck von Alt + F4 in das OnClose - Ereigneis des Main-Forms.

Dort hast Du den Var - Parameter Action. Wenn Du hier Action auf caNone setzt, so bleibt die Anwenung am laufen.

Stanlay Hanks 9. Jan 2004 14:37

Re: Alt+F4 abfangen
 
Hi! Im Ereignis "OnCloseQuery" eines TForms gibt es die Variable "CanClose". Wenn du CanClose auf False setzt, dann kann dein Programm nicht beendet werden. Du könntest also eine Variable (z.B. "beenden" [Boolean natürlich]) erstellen, die anfangs false ist. Wenn du nun einen Button (oder mit was du dein prog auch immer beenden willst) drückst, kannst du die Variable auf true setzen. Im OnCloseQuery Ereignis schreibst du dann nur noch:

Delphi-Quellcode:
CanClose := Beenden;
Man liest sich, Stanlay :hi:

Praktikant 9. Jan 2004 14:52

Re: Alt+F4 abfangen
 
@phoenix:
hab nicht so ganz verstanden wie Du das meinst. Ich schreibe in das onclose action:=caNone ?!
Dann beendet er ja gar nie das Pog, oder verstehe ich da was falsch.

sh's Lösung scheint mir da plausibel, werde ich wohl so machen. Dann kann nur beendet werden wenn kein child formular offen und brav aus dem Menu Beenden ausgewählt wird / werden kann


Grüße von und nach Rav 8)

Robert Marquardt 9. Jan 2004 18:36

Re: Alt+F4 abfangen
 
Du bekommst ein WM_SYSCOMMAND : SC_CLOSE.
Ob du das auch bekommst wenn du die Close-Box klickst weiss ich nicht.
Also ein Application.OnMessage schreiben und dort nach dieser Message Ausschau halten.
Da gibt es ein Paar Feinheiten mit den Parametern, die du am besten in der Windows-Hilfe nachliest.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:58 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz