Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Schließen-Kreuz programmierbar?


bigmasterdenis - Mi 19.11.08 14:47
Titel: Schließen-Kreuz programmierbar?
Hallo Leute,

in meinem Programm möchte ich verhindern dass das Schließen-Kreuz, oben in der Ecke ein Programm immer schließt. Das Schließen des Programms soll bedingt erfolgen: Bedingung erflüllt => Programm normal beenden, Bedingung nicht erfüllt => Warnmeldung und Programm NICHT beenden. Ich könnte natürlich einfach das Schließen-Kreuz zum richtigen Zeitpunkt ausblenden (biSystemmenu), aber das wird den Benutzer eher verwirren.

Gibt es eine elegante Möglchkeit dieses Problem zu lösen?

MfG.
Denis


freedy - Mi 19.11.08 14:52

Hi,

schau mal in deinen Ereignissen des Formulars nach OnFormClose. Der Übergabeparameter CanClose kann dort gesetzt werden. Wenn noch Fragen sind, melde dich einfach. Sollte aber eigentlich einfach zu implementieren sein.

Grüße


bigmasterdenis - Mi 19.11.08 14:59

hhm... wie genau funktioniert das mit dem CanClose? Wo soll der Parameter gesetzt werden?


Gausi - Mi 19.11.08 14:59

Das Event heißt aber OnCloseQuery. ;-)


bluesun - Mi 19.11.08 15:07


Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  canClose := false;
end;


bigmasterdenis - Mi 19.11.08 15:11

Ausgezeichnet! 8) Funktioniert :lol:

Schon wieder was dazugelernt... danke!


freedy - Mi 19.11.08 15:50

user profile iconGausi hat folgendes geschrieben Zum zitierten Posting springen:
Das Event heißt aber OnCloseQuery. ;-)


Richtig... OnClose hat ja die Action... tut mir Leid. Gab hoffentlich keine Verwirrungen. ;-)