AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Verschmelzende Menus

Ein Thema von Codewalker · begonnen am 8. Sep 2006 · letzter Beitrag vom 9. Sep 2006
Antwort Antwort
Benutzerbild von Codewalker
Codewalker

Registriert seit: 18. Nov 2005
Ort: Ratingen
945 Beiträge
 
Delphi XE2 Professional
 
#1

Verschmelzende Menus

  Alt 8. Sep 2006, 14:05
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 ( ). "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
Angehängte Dateien
Dateityp: exe mergemenusexample_123.exe (1,07 MB, 180x aufgerufen)
Dateityp: zip mergemenus_225.zip (3,9 KB, 80x aufgerufen)
  Mit Zitat antworten Zitat
Go2EITS

Registriert seit: 25. Jun 2006
519 Beiträge
 
Delphi 7 Personal
 
#2

Re: Verschmelzende Menus

  Alt 9. Sep 2006, 10:48
@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.
Miniaturansicht angehängter Grafiken
test_485.jpg  
Angehängte Dateien
Dateityp: exe mergemenusexample_201.exe (459,5 KB, 24x aufgerufen)
Dateityp: 7z mergemenusexample_207.7z (438,0 KB, 10x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:01 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