Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Anwendung --> Kreuz deaktivieren oder unsichtbar machen (https://www.delphipraxis.net/37000-anwendung-kreuz-deaktivieren-oder-unsichtbar-machen.html)

Susanne 29. Dez 2004 12:54


Anwendung --> Kreuz deaktivieren oder unsichtbar machen
 
hallo,

bei einer Anwendung gibt es ja immer dieses Kreuz rechts oben zum Schliessen der Anwendung. Gibt es eine Möglichkeit, dieses zu deaktivieren, so dass es entweder nicht mehr sichtbar ist, oder soviel drauf geklickt werden kann, ohne dass etwas passiert?

malo 29. Dez 2004 12:57

Re: Anwendung --> Kreuz deaktivieren oder unsichtbar mach
 
Schau dir mal im OI die BorderIcons an. BiSystemMenu auf false stellen und schon ist das X weg ;)

edit: haha, erster :P

Jelly 29. Dez 2004 12:57

Re: Anwendung --> Kreuz deaktivieren oder unsichtbar mach
 
Ja, setze mal Bordericons.biSystemmenu deiner Form auf false.

Aenogym 29. Dez 2004 13:01

Re: Anwendung --> Kreuz deaktivieren oder unsichtbar mach
 
hi susanne,

wenn du borderIcons.biSystemmenu auf false stellst, sind auch minimieren und maximieren verschwunden.

um nur das kleine X auszublenden, nutze folgenden code:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  h: THandle;
begin
  h := GetSystemMenu(Handle, False);

  if h <> 0 then
  begin
    DeleteMenu(h, SC_CLOSE, MF_BYCOMMAND);
    DrawMenuBar(Handle);
  end;
end;
Aenogym

omata 29. Dez 2004 13:01

Re: Anwendung --> Kreuz deaktivieren oder unsichtbar mach
 
Hallo Susanne,

das deaktivieren des Kreuzes reicht eigentlich nicht.

Über Alt+F4 könnte die Anwendung immer noch beendet werden.

Aber im Ereignis OnClose gibt es den Parameter Action. Wenn du dort caNone zurückgibst, kann die Anwendung nicht mehr beendet werden.

(nicht ganz sicher, da im Moment kein Delphi zur Hand: Im Ereignis OnQueryClose gibt es den Parameter CanClose der das selbe macht)

MfG
Thorsten

malo 29. Dez 2004 13:04

Re: Anwendung --> Kreuz deaktivieren oder unsichtbar mach
 
Zitat:

Zitat von omata

Aber im Ereignis OnClose gibt es den Parameter Action. Wenn du dort caNone zurückgibst, kann die Anwendung nicht mehr beendet werden.

Achtung hierbei, dass man das Programm hinterher überhaupt noch schließen kann !!!

Dafür einfach eine globale Boolsche Variable erstellen und auf False setzen. Wenn du das Programm wirklich schließen willst, die Variable auf true setzen. Und dann im OnClose Action nur auf CaNone setzen, wenn die Variable auf false steht, sonst normal schließen lassen ;)

Jelly 29. Dez 2004 13:06

Re: Anwendung --> Kreuz deaktivieren oder unsichtbar mach
 
Zitat:

Zitat von malo
Dafür einfach eine globale Boolsche Variable erstellen

Tsetse... Das ist aber nicht gerade OO-like. :evil:

malo 29. Dez 2004 13:17

Re: Anwendung --> Kreuz deaktivieren oder unsichtbar mach
 
Zitat:

Zitat von Jelly
Zitat:

Zitat von malo
Dafür einfach eine globale Boolsche Variable erstellen

Tsetse... Das ist aber nicht gerade OO-like. :evil:

Muss man das jetzt verstehen? :gruebel:

Susanne 29. Dez 2004 13:23

Re: Anwendung --> Kreuz deaktivieren oder unsichtbar mach
 
vielen vielen lieben Dank für die schnellen Antworten. Ich habe BiSystemMenu jetzt erst mal auf False gesetzt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:39 Uhr.

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