![]() |
TMainMenu auf TCard platzieren?
Delphi 10.4.2 VCL Application: Leider scheint es keine Möglichkeit zu geben, ein MenuBar (z.B. TMainMenu) auf einem TCard zu platzieren, wenn man z.B. jedem Panel eines CardPanel ein eigenes Menü spendieren möchte.
Man könnte zwar ein TActionMainMenuBar erstellen. Aber das ist viel zu umständlich, da man dafür extra einen ActionManager und für diesen wiederum eine oder mehrere ActionLists erstellen muss. Viel einfacher wäre es, wenn man ganz einfach eine MenuBar auf einem Panel platzieren könnte. Oder kennt jemand einen Workaround dafür? |
AW: TMainMenu auf TCard platzieren?
Nur so 'ne Idee: Auf jedem TCard ein eigenes TMainMenu platzieren und dieses beim Aktivieren der Card dem Form.MainMenu zuweisen.
|
AW: TMainMenu auf TCard platzieren?
Zitat:
|
AW: TMainMenu auf TCard platzieren?
Leider hat Embarcadero dem VCL TMainMenu die unsinnige EINSCHRÄNKUNG mit gegeben, dass man TMainMenu nur auf einer TForm platzieren kann. Re-Parenting funktioniert leider auch nicht!
Oder anders ausgedrückt: In der VCL fehlt eine MENUBAR Komponente, die auf jedem Container-Control platziert werden kann! |
AW: TMainMenu auf TCard platzieren?
Zitat:
Delphi-Quellcode:
ist (obwohl am Ende was Sichtbares rauskommt) erstmal kein
TMainMenu
Delphi-Quellcode:
, sondern eine Non-Visible Component und kann somit (genau wie ein
TControl
Delphi-Quellcode:
) auf einem
TPopupMenu
Delphi-Quellcode:
,
TForm
Delphi-Quellcode:
oder
TFrame
Delphi-Quellcode:
platziert werden. Man kann aber beliebig viele
TDataModule
Delphi-Quellcode:
innerhalb eines solchen Containers platzieren und beim Wechsel der
TMainMenu
Delphi-Quellcode:
dann das entsprechende dem MainMenu-Property des Forms zuweisen.
TCard
Insofern war meine Formulierung Auf jedem TCard ein eigenes TMainMenu platzieren vielleicht etwas missverständlich, sorry. |
AW: TMainMenu auf TCard platzieren?
Zitat:
|
AW: TMainMenu auf TCard platzieren?
Zitat:
Außerdem geht ein TMainMenu nur für das Form und nicht für dessen Child-Controls: ![]() Zitat:
Zitat:
|
AW: TMainMenu auf TCard platzieren?
Schade, dass es
Delphi-Quellcode:
nur in
TMenuBar
Delphi-Quellcode:
gibt und nicht in der
FMX
Delphi-Quellcode:
:
VCL
![]() |
AW: TMainMenu auf TCard platzieren?
Ich verstehe das Argument mit dem Aufwand nicht.
Ich habe gerade in drei Minuten ein Cardpanel, zwei Cards mit jeweils einer ActionMainMenuBar und einem gemeinsamen ActionManager mit vier Actions zusammengeklickt. Wo ist denn da der Aufwand? Da hat es doch länger gedauert, den Eröffnungspost zu schreiben?! :glaskugel: |
AW: TMainMenu auf TCard platzieren?
Zitat:
|
AW: TMainMenu auf TCard platzieren?
Das ist deine Antwort? :roll:
|
AW: TMainMenu auf TCard platzieren?
Liste der Anhänge anzeigen (Anzahl: 1)
Ich verwende jetzt als
Delphi-Quellcode:
-Ersatz eine
TMenuBar
Delphi-Quellcode:
:
TRzToolbar
Anhang 54145 ... bis Embarcadero ein
Delphi-Quellcode:
Control für die VCL herausbringt :]
TMenuBar
|
AW: TMainMenu auf TCard platzieren?
Zitat:
Das geht tatsächlich nicht einfach mit zusammenklicken. |
AW: TMainMenu auf TCard platzieren?
Wenn man das Verhältnis von erreichtem Ergebnis zum tatsächlichen Aufwand (inkl. Fehleranfälligkeit und unnötiger Komplexität sowie Verwaltungsaufwand) des Zusammenspiels von TActionMainMenuBar/ActionManager/ActionLists betrachtet, dann ist dieses Verhältnis bei manchen Projekten einfach nicht sinnvoll. Das heißt, in vielen Fällen wäre eine einfache (frei platzierbare) MENUBAR sinnvoller als eine TActionMainMenuBar.
|
AW: TMainMenu auf TCard platzieren?
Liste der Anhänge anzeigen (Anzahl: 2)
Zitat:
Aber wenn man von vornherein sich einer bestimmten Lösung verweigert... Anhang 54150 Anhang 54151 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:09 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