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 Mdi Child und TMainMenu getrennt ? (https://www.delphipraxis.net/152162-mdi-child-und-tmainmenu-getrennt.html)

Blamaster 13. Jun 2010 17:51

Mdi Child und TMainMenu getrennt ?
 
Hi,

ich habe momentan ein Mdi-Form und darauf ein Mdi Childform.

Nun haben sowohl das Mdi-Form als auch das Childform ein eigenes TMainMenu.

Wie lässt sich verhindern, dass die beiden Menüs zusammengeführt werden ? Ich möchte das mein Childform jederzeit sein eigenes Menü hat.

Mfg Yannic

Alaitoc 14. Jun 2010 07:26

AW: Mdi Child und TMainMenu getrennt ?
 
Es gibt da so eine Toolbar, die du als Alternative für das MainMenü im MDI-Child benutzen kannst.
Sonst ist das halt von der VCL so gewollt, dass die zusammengelegt werden.
Ich glaube nich das man da sonst was machen kann :/

MfG Alaitoc

Blamaster 14. Jun 2010 13:30

AW: Mdi Child und TMainMenu getrennt ?
 
Hi,

Danke für die Antwort. Zusammenführen würde mir ja schon reichen. Wenn ich allerdings den Focus auf dem Childform habe, dann ersetzt sich die Mainmenübar komplett durch das Mainmenü des Child, sprich es sind wirklich nur die Menüelemente des Childforms vorhanden und die des Mainform komplett weg.

Mfg Yannic

Alaitoc 14. Jun 2010 13:45

AW: Mdi Child und TMainMenu getrennt ?
 
Eine Funktion zum zusammen führen gibt es glaubich auch nicht (korrigiert mich wenn ich mich irre),
wenn müsstest du das selbst implementieren.
In meinen Anwendungen hab ich dann die programmspezifischen Menüpunkte im Hauptformular über das TMainMenü und die simplen Befehle des MDI-Childs über Symbole per TToolbar gehandelt.

Dann sind die Leisten auch strikt getrennt, was mir persönlich besser gefällt.

Falls du doch noch eine Lösung findest, sag Bescheid. Vll. wäre das auch für mich interessant :stupid:

MfG Alaitoc

David Martens 14. Jun 2010 15:53

AW: Mdi Child und TMainMenu getrennt ?
 
Ich hab mal ein bisschen rumgespielt, du kannst das Menü der MDI-Childform in das Menü der MDI-Form integrieren, indem du den GroupIndex anpasst.

Hier ein Beispiel zum Verständnis:

MDI-Form:
Menüpunkt Groupindex
Datei 0
Bearbeiten 0
Test 2
Ende 4


MDI-Childform
Menüpunkt Groupindex
Eingefügt 1
Überschreib 2
wiederDrin 3

==> Ergebnis zusammengefügt:
Menüpunkt Groupindex
Datei 0
Bearbeiten 0
Eingefügt 1
Überschreib 2
wiederDrin 3
Ende 4

Wenn die MDI-Childform freigesetzt wird ist wieder das ursprüngliche Menü vorhanden.

Ergo: es geht beiden: Überschreiben (wenn der GroupIndex gleich ist) oder anhängen/einfügen (wenn der GroupIndex verschieden ist)

Alaitoc 14. Jun 2010 21:09

AW: Mdi Child und TMainMenu getrennt ?
 
Ah gut endlich mal dazu was gefunden, Danke Dir für die Mühe :)
Werde mal die Tage schauen, ob ich das bei mir bearbeite oder noch die Symbole drin lasse.

Aber ist schonmal gut zu wissen das es auch anders geht.

MfG Alaitoc

Blamaster 14. Jun 2010 22:05

AW: Mdi Child und TMainMenu getrennt ?
 
Hi,

vielen Dank funktioniert perfekt :)

Mfg Yannic

Namenloser 14. Jun 2010 22:20

AW: Mdi Child und TMainMenu getrennt ?
 
Ich meine mich zu erinnern, dass die Eigenschaft Delphi-Referenz durchsuchenTMainMenu.AutoMerge dieses Verhalten regelt.

Alaitoc 15. Jun 2010 06:20

AW: Mdi Child und TMainMenu getrennt ?
 
Da hätte man zumindest die Information über den Groupindex über die Hilfe hergekriegt,
jedoch ist die Eigenschaft im Endeffekt nur für Nicht-MDI-Anwendungen relevant.

Zitat:

Bei einer MDI-Anwendung (bei der die Eigenschaft FormStyle so gesetzt wird, dass das Hauptformular das übergeordnete Formular ist und alle weiteren Formulare untergeordnete Formulare sind) werden die Menüs automatisch kombiniert. Die Eigenschaft AutoMerge wird hier nicht benötigt.
MfG Alaitoc


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