Form nicht über X schließen!?

krauZe

Grünschnabel
Kann ich einstellen, dass ich mit dem roten X (schließen) in der kopfzeile des formulars, das Formular NICHT schließen kann, sondern NUR über nen close button im formular`?

bzw, das es die buttons minimieren/maxieren/schließen in der blauen kopfzeile gar nicht gibt?


(hab Delphi 7) .. und bin anfänger ;)
rechnen un so kann cihs chin ;)
 
danke danke
hat funktioniert


nur gibts ein problem. nun kann man die anwendung aber immernoch über
taskleiste >> rechtsklick >> schließen beenden.. kann ich auch dies deaktivieren
 
Hallo,

mit dem Verstecken der Buttons hast du wirklich nur eine der Beendungs-Möglichkeiten entfernt. Schau dir mal das OnClose-Event des Formulars an! Da gibts einen Var-Parameter (siehe Call by Reference) für die TCloseAction. Diese gibt an wie das Fenster den Beendigungs-Versuch behandeln soll. Wenn du hier einfach folgendes machst,
Code:
procedure TYourForm.FormClose(Sender: TObject; 
  var Action: TCloseAction); 
begin 
  Action := caNone;
end;
dann wird jedes Schließen (außer über den TaskManager!) ignoriert.

Hoffe das hilft!

gruß, Kangaxx
 
Bei dem Form kannst du das Ereignis OnCloseQuery verwenden.

Dort gibt es eine Variable CanClose, die du in der Ereignisverarbeitung verändern kannst.

Setze dort CanClose := false und das Schließen funktioniert nicht.
Du kannst an dieser Stelle auch eine Rückfrage oder ähnliches einbauen und CanClose entsprechend setzen.

Das sollte helfen.
vop
 
Zurück