Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Systembutton X bei Form deaktivieren? (https://www.delphipraxis.net/170349-systembutton-x-bei-form-deaktivieren.html)

Helmi 12. Sep 2012 17:42

Systembutton X bei Form deaktivieren?
 
Hallo,

wie kann ich bei einer Form, das X rechts oben ausgrauen/deaktivieren?

Ich weiss wenn man in den Eigenschaften der Form bei "BorderIcons" biSystemMenu auf false setzt, dass dann das Icon weg ist (wie die anderen auch, nur dann ist auch gleichzeitig das Programm-Icon links ausgeblendet/weg.

himitsu 12. Sep 2012 17:48

AW: Systembutton X bei Form deaktivieren?
 
Nee, wozu auch?

PS: Selbst wenn die Titelleiste (Programmicon+X) ausgeblendet ist, dann ist die Funktion dennoch aktiv (z.B. Alt+F4 oder im Menü der Taskleiste, wenn die Form dort einen Eintrag besitzt).

Du kannst aber im OnCloseQuery zumindestens das Schließen verhindern. (auch beim Alt+F4)

Dalai 12. Sep 2012 17:49

AW: Systembutton X bei Form deaktivieren?
 
Stammt aus einem meiner Programme (Delphi 5):
Delphi-Quellcode:
var
  hMen : HMENU;
begin
  //Ausschalten, Schließen im System-Menü
  hMen:= GetSystemMenu(Application.Handle, LongBool(0));
  EnableMenuItem(hMen, SC_CLOSE, MF_BYCOMMAND or MF_GRAYED);
  //Ausschalten, Schließen im Formular-Menü
  hMen:= GetSystemMenu(Formular.Handle, LongBool(0));
  EnableMenuItem(hMen, SC_CLOSE, MF_BYCOMMAND or MF_GRAYED);
end;
Wird ggf. anders sein in neueren Delphi-Versionen, weil das Application-Window ja nicht zwingend auf der Taskbar angezeigt wird sondern stattdessen das der MainForm.

Generell sei aber gesagt, dass das Deaktivieren dieses Buttons mit Vorsicht zu genießen ist, weil bestimmte Leute es ggf. als schlechten Stil oder nervig empfinden.

MfG Dalai

Helmi 12. Sep 2012 18:05

AW: Systembutton X bei Form deaktivieren?
 
Hallo,

Zitat:

Zitat von himitsu (Beitrag 1182670)
PS: Selbst wenn die Titelleiste (Programmicon+X) ausgeblendet ist, dann ist die Funktion dennoch aktiv (z.B. Alt+F4 oder im Menü der Taskleiste, wenn die Form dort einen Eintrag besitzt).

An das hab ich gar nicht gedacht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:29 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz