Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Mainmenü verstecken (https://www.delphipraxis.net/89194-mainmenue-verstecken.html)

backdraft 27. Mär 2007 10:13


Mainmenü verstecken
 
Hallo,

gibt es eine Möglichkeit das Mainmenü zu verstecken, ohne dass ich die Eigenschaft Menu von der Form entferne?
Das Problem ist, dass nur ein RefreshMDIMenü ausgeführt wird, wenn ich ein MainMenü gesetzt habe.
Nutze ich eine Toolbar als Menü, wird diese nicht mehr informiert, dass ein MDI-Fenster geöffnet wurde (Eigenschaft Form.WindowMenu)

Delphi-Quellcode:
 ShowWindow(Menu.Handle, SW_HIDE);
funktioniert nicht.

Oliver

IngoD7 27. Mär 2007 10:26

Re: Mainmenü verstecken
 
Zitat:

Zitat von backdraft
Hallo,

gibt es eine Möglichkeit das Mainmenü zu verstecken, ohne dass ich die Eigenschaft Menu von der Form entferne?

Ja, indem du Visible von allen Items von TMainMenu auf False setzt.

backdraft 27. Mär 2007 10:33

Re: Mainmenü verstecken
 
Das hilft mir aber nicht wirklich weiter, da meine Toolbar das MainMenu1 ebenfalls benutzt und ich dann da auch keine Items mehr sehe.

IngoD7 27. Mär 2007 11:08

Re: Mainmenü verstecken
 
Zitat:

Zitat von backdraft
Das hilft mir aber nicht wirklich weiter, da meine Toolbar das MainMenu1 ebenfalls benutzt [...]

Ja und?

Wenn du im ersten Posting das Verstecken deines Mainmenüs sogar mit dem Entfernen desselben von der Form vergleichst, darf man wohl davon ausgehen, dass das Unsichtbarmachen des Mainmenüs deinem Wunsch entspricht.

Was das mit einer Toolbar zu tun hat, kann ich nicht erkennen. Was bedeutet das, dass deine "Toolbar das Mainmenü ebenfalls benutzt"? Eine TToolBar klebt immer am oberen Rand - entweder unter dem Mainmenü oder unter der Titelleiste, je nachdem, ob das Mainmenü zu sehen ist oder nicht.

Zitat:

[...] und ich dann da auch keine Items mehr sehe.
Welche Items meinst du damit? Die des Mainmenüs??? Natürlich siehst du die nicht mehr, wenn du das Mainmenü unsichtbar machst (oder um deinen Vergleich aus dem ersten Posting nochmal zu benutzen: wenn du das Mainmenü entfernst). Was verstehst du denn unter "Verstecken"? Etwas verstecken, aber es immer noch sehen können??? :gruebel:

backdraft 27. Mär 2007 12:18

Re: Mainmenü verstecken
 
Liste der Anhänge anzeigen (Anzahl: 1)
So sieht meine Toolbar aus. Sie wird automatisch aus dem MainMenu1 erzeugt.
Folglich ist, wenn ich die Items vom MainMenu1 auf Invisible setze, die Toolbar auch leer.

Das Menu "Fenster" sollte alle MDI-Fenster anzeigen. Tut es aber nicht, solange die Eigenschaft Form.Menu nicht gefüllt ist.
Fülle ich diese habe ich zwei Menü auf dem Bildschirm, aber sonst ist alles ok.

Deswegen fragte ich, ob es eine Möglichkeit gibt das Menü auszublenden, ohne die Eigenschaft Form.Menu zu ändern.

Vielleicht gibts ja noch eine Möglichkeit

IngoD7 27. Mär 2007 12:46

Re: Mainmenü verstecken
 
Sorry, aber ich verstehe nur Bahnhof. :(

arbu man 27. Mär 2007 13:27

Re: Mainmenü verstecken
 
Delphi-Quellcode:
Form1.MainMenu := nil; // verstecken
Form1.MainMenu := MainMenu1; // anzeigen
Nicht schön sollte aber gehen

backdraft 27. Mär 2007 14:13

Re: Mainmenü verstecken
 
Zitat:

Zitat von arbu man
Delphi-Quellcode:
Form1.MainMenu := nil; // verstecken
Form1.MainMenu := MainMenu1; // anzeigen
Nicht schön sollte aber gehen

Funktioniert auch, aber ich bekomme den Event ja nicht mit, wenn ein Fenster geöffnet / geschlossen wird.

kalmi01 27. Mär 2007 14:22

Re: Mainmenü verstecken
 
Zitat:

Funktioniert auch, aber ich bekomme den Event ja nicht mit, wenn ein Fenster geöffnet / geschlossen wird.
Hast doch die OnShow, OnHide, OnCreate, OnClose-Ereignisse.
Da kannst Du doch alles abhandeln.

Ansonsten gibt es für das MainForm noch OnIdle, in dem Du prüfen könntest, ob es Child-Fenster gibt und welchen Status sie haben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:22 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