![]() |
ALT + F4 verhindern?
hi,
wie kann ich das verhinden das sich mein prog per alt+f4 schliesst? Auch in der Taskleiste das schliessen per rechtsklick sollte weg, danke gruss silent^^ |
Delphi-Quellcode:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin Action := caNone; end; |
hi luckie, danke für deine antwort. :)
Ich meinte aber eigentlich das es sich noch per button click (close) schliessen lassen können muss, nur per alt f4 und in der taskleiste nicht geht das? gruss silent |
du musst das ganze im OnCloseQuery behandeln
einfach CanClose := False; und das Programm mit Application.Terminate; beenden mfG mirage228 |
danke ;)
|
Zitat:
Delphi-Quellcode:
var
bAllowClose : Boolean = FALSE; // global {...} procedure Form1.OnCloseQuery(....); begin CanClose := bAllowClose; end; procedure Form1.ButtonClick(...); begin bAllowClose := TRUE; Close; end; |
Moin Luckie,
was ist los? Mirages Variante funktioniert doch... Bei Application.Terminate werden doch OnCloseQuery und OnClose des Hauptformulares nicht ausgeführt. ;-) |
Eben, und das ist das gefährliche denke ich mir.
|
Moin Luckie,
Zitat:
BTW: Ich würd' dafür keine globale Variable, sondern ein private Feld im Formular verwenden (ggf. als Property veröffentlicht). |
Moin Zusammen,
es gibt auch noch einen ganz sauberen Weg: Man schaltet einfach den Menüpunkt ab:
Delphi-Quellcode:
// im OnFormCreate
// Schliessen im Systemmenü des Hauptformulares EnableMenuItem(GetSystemMenu(self.Handle,false),SC_CLOSE,MF_BYCOMMAND or MF_GRAYED); // und auch für die Taskleiste EnableMenuItem(GetSystemMenu(Application.Handle,false),SC_CLOSE,MF_BYCOMMAND or MF_GRAYED); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:43 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