Forms - "Schließen-Kreuz" deaktivieren
-
Hi!
Gibt es eine Möglichkeit das "Schließen-Kreuz" in der oberen rechten Ecke eines Programms zu deaktivieren oder ganz aus der Oberfläche zu entfernen?
MfG
Rookie images/smiles/icon_smile.gif
[ Dieser Beitrag wurde am 26.03.2002 um 17:14 Uhr von Jansen editiert. ]
-
Hi,
du kannst einfach die Methode CreateParams überschreiben. In dieser werden die Eigenschaften vom Fenster gesetzt.
Beispiel:
//---------------------------------------------------------------------- class TMainForm : public TForm { __published: protected: void __fastcall CreateParams(TCreateParams &Params) { TForm::CreateParams(Params); Params.WindowClass.style |=CS_NOCLOSE; } public: __fastcall TMainForm(TComponent* Owner):TForm(Owner){}; }; //----------------------------------------------------------------------
um dieses zur Laufzeit wieder rückgangig zu machen, kann man sowas schreiben:
LONG temp=GetWindowLong(Handle,GWL_STYLE); temp&=~CS_NOCLOSE; SetWindowLong(Handle,GWL_STYLE,temp);
-
-
Um den Thread für die FAQ vorzubereiten, hier noch eine Alternative von skillloseR[ aus einem anderen Thread:
Moin,
ich hab die Lösung für dein Problem:
Du musst einfach den folgenden Code ins FormCreate-Ereignis deines Programms eintragen und schon ist das x- deaktiviert!DeleteMenu(GetSystemMenu(Handle, false), SC_CLOSE, MF_BYCOMMAND);
MfG
skillloseR
-
Und noch ein Zitat von yanni:
Hallo!
Um auch noch das Beenden durch Alt+F4 zu verhindern, kann man im OnCloseQuery-Event "CanClose = false;" schreiben.
yanni