Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Library: VCL / WinForms / Controls (https://www.delphipraxis.net/24-library-vcl-winforms-controls/)
-   -   Delphi Verschmelzende Menus (https://www.delphipraxis.net/76710-verschmelzende-menus.html)

Codewalker 8. Sep 2006 14:05


Verschmelzende Menus
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo zusammen.

Dieses Beispielprojekt ermöglicht es, mehrere Child-Windows in ein PageControl "einzudocken". Außerdem wird das MainMenu dynamisch angepasst, je nachdem, welche Seite im PageControl angezeigt wird. Das ganze wird auf der Basis der doch recht dürftig dokumentierten Funktion TMainMenu.Merge gemacht.

Merge verschmelzt zwei TMainMenus miteinander und generiert dadurch ein einziges. Die Eigenschaft GroupIndex eines Menutitels bestimmt, ob ein vorhandener erstetzt wird oder ob er neu angehangen wird. Im Detail steht dies in der Delphi-Hilfe unter dem Punkt TMenuItem.GroupIndex.

In dem Beispielprojekt habe ich im Hauptformular insgesamt 3 TMainMenus benutzt ( :gruebel: ). "MainMenu" ist das Basismenü, welches immer sichtbar ist. "HelperMenu" und "EmptyMenu" werden dynamisch verwendet, um das Hauptmenü zu ergänzen und diese Einträge auch wieder entfernen zu können. Der Grund für 3 Menüs liegt darin, dass auf diese Weise auch ChildWindows ohne TMainMenu - Komponente eingebunden werden können. In diesem Falle wird MainMenu mit dem EmptyMenu verschmolzen, welches natürlich keine Änderung erzielt. Es ist auf diese Weise extrem einfach, neue Elemente hinzuzufügen.

Ich hoffe es besteht Interesse daran und freue mich über viel Feedback.

Grüße

Thomas aka Codewalker

Go2EITS 9. Sep 2006 10:48

Re: Verschmelzende Menus
 
Liste der Anhänge anzeigen (Anzahl: 3)
@Codewalker
ich lade gerade Dein Beispiel runter.
Sei doch so nett und erstellen ein Screenshot: Taste DRUCK auf Deinem Keyboard,
Irfanview öffenen, STRG-V und als jpg/png speichern und hier hochladen.

Die Exe bitte mit UPX packen, da es 23x geladen wurde, obwohl der Source vorhanden ist.
und auch zusätzlich als .7z gepackt anbieten, dann hat man eine Wahl gegen die 1 MB schwere EXE.

Zum Beispiel: Ehrlich... so ein richtiger Hingucker ist es nicht. Aber den Source habe ich mir noch nicht angesehen. Ich denke, wenn ich etwas für den Anwender mache, muss er die Änderung sehen.
2 zusätzliche Einträge oben sind wohl nur intessant, wenn die zwei neuen Einträge sich farblich und grafisch unterscheiden.

Ich erlaube mir Deine Exe unverändert als UPX und 7z gepackt, sowie einen Screenshot anzubieten, Dein Wohlwollen vorausgesetzt.


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