![]() |
Popupmenü in ein Mainmenü kopieren
Ich hab abhängig vom Inhalt des Formulars eines von drei Popummenüs die auf dem Formular zu Einsatz kommen. Mal dies, mal das. Soweit klappt alles. Jetzt möchte ich aber auch ein entsprechendes Menü im Mainmenü haben. Damit meine ich, daß wenn ich auf das Menü "Extras" klicke, sich vor dem Aufklappen das Menü anpaßt und dem aktuellen Popupmenü entspricht.
Hier will ich aber nicht doppelte Pflege betreiben und zwei Menüs mit gleichen Items erstellen, sondern nur das Popupmenü erstellen und die TMenuItem's durch kopieren übernehmen. Als erste Aufgabe wird das alte Inhalt des Menüs "Extras" gelöscht und dann soll das Popupmenü kopiert werden. Nur irgendwie sitze ich seit gestern da und es klappt nicht. Das Löschen ist kein Problem und auch der Anfang klappt. Danach hagelt es aber immer Fehlermeldungen. Also ich weiß wie man währened der Laufzeit Menüs hinzufügt, nur kriege ich keine Popupmenü kopiert.
Delphi-Quellcode:
var
i: Integer; MenuItem: TMenuItem; begin MenuExtras.Clear; for i := 0 to PopupMenu.Items.Count - 1 do begin MenuItem := TMenuItem.Create(Self); MenuItem.Name := 'Extra' + IntToStr(i); ??? end; |
Re: Popupmenü in ein Mainmenü kopieren
das war doch vom Ansatz her schon ganz gut:
Delphi-Quellcode:
Das ist jetzt untested, vielleicht gibt es aerger, mit dem assign, weil eine Komponente dieses Namens bereits existiert, dann musst Du die Zuweisungen halt von Hand machen ...
var
i: Integer; miNew, miOld: TMenuItem; begin MenuExtras.Clear; for i := 0 to PopupMenu.Items.Count - 1 do begin miOld:=PopupMenu.Item[i]; miNew:= TMenuItem.Create(Self); miNew.assign(miOld); MiNew.Name := 'Extra' + IntToStr(i); niNew.parent:=MenuExtras; end; |
Re: Popupmenü in ein Mainmenü kopieren
Code-Library:
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:24 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