![]() |
FMX Verhinderung das Anwendung mit ALT+F4 beendet wird
Hallo,
ich möchte verhindern, das ein Benutzer die Anwendung mit der Tastenkombi ALT+F4 beendet, bzw. das nach dem betätigen der Tastenkombi noch eine Abfrage kommt. Bisher konnte ich das folgendermaßen lösen, doch unter Firemonkey, XE5 bekomme ich das so nicht hin, da das Ereignis OnMessage nicht mehr vorhanden ist. Danke. public procedure AppMessage(var Msg: TMSG; var HAndled: Boolean); end; {...} implementation {...} procedure TForm1.FormCreate(Sender: TObject); begin // set your applications message handler to your new one Application.OnMessage := AppMessage; end; procedure TForm1.AppMessage(var Msg: TMSG; var Handled: Boolean); begin // let your application handle all messages initially Handled := False; case Msg.Message of WM_SYSKEYDOWN: if Msg.wParam = VK_F4 then Handled := True; // don't allow ALT-F4 end; end; |
AW: FMX Verhinderung das Anwendung mit ALT+F4 beendet wird
Hallo,
Habe die Lösung schon selbst gefunden und mache das jetzt über das Ereignis OnCloseQuery. |
AW: FMX Verhinderung das Anwendung mit ALT+F4 beendet wird
Ja, OnCloseQuery ist hier die richtige Lösung.
Die [DELPHI]...[/DELPHI]- oder notfalls die [CODE]...[/CODE]-Tags kennst du schon? Tipp: Ich empfehle die Finger von Application.OnMessage und den anderen Events zu lassen und Diese über TApplicationEvents zu machen. Das registriert sich zwar auch bei Application.OnMessage und Co. (hätten die Embaläute mal besser nicht so machen sollen), aber dafür registriert sich das als MultyCastEvent. Heißt, es kann mehrere TApplicationEvents geben. Stell dir mal vor eine FremdComponente registriert sich auch dort, oder du kommst auf die Idee das nochmal in Form2 zu machen. Dann übererschreibst du das andere Event, welches du eigentlich hättest speichern und an beim Aufruf deiner Methode wieder aufrufen müssen, was du aber nicht machst und somit die andere Funktion schrottest. Ach ja, OnMessage ... Diese Messages sind ja eigentlich ein Windows-Ding. Da kann es gut sein, daß man bei der FMX-Version der TApplication-Klasse diese Messages nicht mehr drin hat, weil das Ding ja potentiell auch für andere OS gedacht ist. PS: In anderen OS wird das Programm eventuell auch nicht mit Alt+F4 beendet. |
AW: FMX Verhinderung das Anwendung mit ALT+F4 beendet wird
Danke für den Tipp !
|
AW: FMX Verhinderung das Anwendung mit ALT+F4 beendet wird
@himitsu
![]() Unter FMX läuft das anders ![]() |
AW: FMX Verhinderung das Anwendung mit ALT+F4 beendet wird
Wobei man die Events dieses Services auch ganz leicht als eigenes TApplicationEvent-Objekt bereitstellen könnte. :angel:
Nur sowas wie die Windows-Messages gibt es dort dennoch nicht. Gibt nur ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz