Und wie baue ich das in meinen Button ein? Die Frage mag blöd klingen, aber ich kriegs nicht hin.
So hab ichs versucht: Funktioniert beim normalen Windows schließen einwandfrei. Nur mit meinem Button gehts nicht richtig (d.h. Fenster kommt, aber egal auf was fürn Knopf ich drücke, das Programm bleibt geöffnet.
Delphi-Quellcode:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var S: Integer;
begin
if OpenDialog1.FileName='' then begin
OpenDialog1.FileName:='Unbenannt'
end;
if Form1.SynMemo1.Text='' then begin
if Application.MessageBox('Programm wirklich Beenden?', 'eEdit', MB_ICONQUESTION + MB_YESNO) = IDYES then
CanClose := TRUE
else
CanClose := FALSE;
end
else begin
S := Application.MessageBox('Datei wurde geändert, vor dem Beenden abspeichern?', 'eEdit', MB_ICONQUESTION + MB_YESNOCANCEL);
if S=IDYES then begin
if SaveDialog1.Execute then begin
SynMemo1.Lines.SaveToFile(SaveDialog1.FileName);
CanClose := TRUE;
end;
end;
if S=IDNO then
CanClose := TRUE;
if S=IDCANCEL then
CanClose := FALSE;
end
end;
procedure TForm1.Beenden1Click(Sender: TObject);
begin
CloseQuery;
end;
gruß,
shAd