Programm beenden
-
Hi.
Ich habe mir ein Menü gemacht.
Ich habe ein Mneü File->Exit
Sobald ich auf Exit klicke, beendet er das Programm, aber er fragt vor ob der jenige es wirklich beenden will.
Wenn ich aber auf das X (rechts oben) klicke, soll er mich das auch fragen. Wie kann ich das abfangen??
-
schau dir mal das ereignis OnClose des hauptformulars an. insbesondere den Parameter TCloseAction &Action;
Bsp.:
if (SchliessenFrage = Nein) { Action = caNone; }
-
Oder im OnCloseQuery-Ereignis
-
Ok, soweit habe ich das geschafft.
Aber ich habe dann ein Problem mit dem Menü File->Exit.void __fastcall TForm1::Exit1Click(TObject *Sender) { FormClose(Sender,caHide); }
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action) { if(MessageBox(NULL,TEXT("Really exit???"),TEXT("Bonk Player"), MB_YESNO) == IDNO) Action = caNone; else Action = caFree; }
Aber wenn ich über das Menü gehe, beendet der das nicht. Er bleibt immer gestartet..
-
Du musst bei deinem Menü nur noch "Close()" schreiben.
Dann wird automatisch das FormClose-Ereignis ausgeführt!
-
Original erstellt von JeGr:
Du musst bei deinem Menü nur noch "Close()" schreiben.
Dann wird automatisch das FormClose-Ereignis ausgeführt!Oh, danke. Stimmt, habs vergessen. Ich glaub ich mach ne Pause.