Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - TMenuitem.Items auf TPopupmenu abbilden


Knulli - Do 24.09.15 12:26
Titel: TMenuitem.Items auf TPopupmenu abbilden
Hi Leute,

ich suche eine elegante Möglichkeit automatisiert ein Popupmenu zu erstellen, welches die gleiche Struktur hat, wie einer der Menüpunkte im Hauptmenü (incl. deren Untermenüs).

Wenn ich irgendwann mal am Hauptmenü was ändere, soll sich das Popupmenü mit anpassen.

Also sowas in der Art wie


Delphi-Quelltext
1:
2:
3:
procedure TFMain.FormCreate(Sender: TObject);
...
Popupmenu1.Items := MBearbeiten;


oder


Delphi-Quelltext
1:
2:
  for IDX := 0 to MBearbeiten.Count-1 do
    PopupMenu1.Items.Add(MBearbeiten.Items[IDX]);


Vorschläge?


Nersgatt - Do 24.09.15 12:39

Dein 2. Ansatz geht in die richtige Richtung. Gehe in einer Schleife die Items des Menüs durch.
Du musst die Items des Popupmenus einzeln erstellen und die relevanten Eigenschaften kopieren (also z.B. die Caption, den ItemIndex oder die OnClick-Procedure).


baumina - Do 24.09.15 12:45

http://www.delphi-treff.de/tipps-tricks/komponenten/menues/menues-klonen/