Einzelnen Beitrag anzeigen

Benutzerbild von notam
notam

Registriert seit: 20. Dez 2003
50 Beiträge
 
Turbo Delphi für Win32
 
#1

FormCloseQuery Prozedur aufrufen

  Alt 27. Feb 2004, 14:15
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
Manuel
Mein Name ist Hase, ich weiß von nichts.

Posting And You...
  Mit Zitat antworten Zitat