Moin!
Trotz ausgiebiger Suche bin ich noch zu keiner Lösung gekommen. Um vor dem Beenden des Programms nachzufragen, ob der User wirklich das Programm beenden möchte frage ich ihn in einer Messagebox. Dies funktioniert mit der Prozedur FormCloseQuery wunderbar.
Delphi-Quellcode:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var MsgText, MsgCaption: string;
MsgType, UserResp: integer;
begin
MsgCaption := 'Beenden?';
MsgText := 'Wollen Sie wirklich beenden?';
MsgType := MB_YESNO + MB_ICONQUESTION + MB_DEFBUTTON1 + MB_APPLMODAL;
UserResp := Application.MessageBox(PChar(MsgText), PChar(MsgCaption), MsgType);
case UserResp of
IDYES: canclose:=true;
IDNO: canclose:=false;
end;
end;
Jetzt möchte ich aber auch einen Button, zum Schließen des Programms mit dieser Messagebox.
Wir rufe ich jetzt in der ButtonClick Prozedur die FormCloseQuery Prozedur auf?
Muss sonst noch was in die ButtonClick Prozedur?
Wenn ich nämlich mit einem Button die Anwendung mit einem normalem form1.close; beenden lasse, wird danach nochmal die FormCloseQuery aufgerufen. Und zweimal den User zu fragen, finde ich dann ein bisschen übertrieben.
Hoffe, ich habe mich verständlich ausgedrückt