Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Popupmenü kopieren / mehrfach verwenden
Currywurst - Sa 18.01.03 20:51
Titel: Popupmenü kopieren / mehrfach verwenden
also ich will ein komplettes popupmenü ein zweites mal verwenden, aber als untermenü in einem anderen...
das popupmenü verändert sich aber zu laufzeit, entsprechend muss auch die kopie immer aktuell bleiben, also es sollte das menü am besten wirklich nur woanders gezeigt werden und nicht wirklich kopiert werden jedesmal
wie stell ich das am besten an?
(das gleiche hab ich übrigens auch schon
hier [
http://spotlight.de/zforen/dlp/m/dlp-1042831952-18390.html] gepostet)
Manfred - Sa 18.01.03 22:40
Hi!
Wie wär's, wenn Du das Menü zur Laufzeit erzeugst? Dann ist der Variablilität keine Grenze gesetzt!
Delete - Sa 18.01.03 22:51
Also mit GetMenu bzw. mit GetSubMenu kommst du schon mal an das Handle ran, wie es dann weitergeht kann ich dir im Moment auch nicht sagen. Interessant wären wohl noch die API's SetMenu, Appendmenu und ModifyMenu.
So jetzt bastel dir was draus. :mrgreen:
Currywurst - So 19.01.03 11:13
Titel: ok, hab mir jetzt was zusammengemogelt
im popupereignis des zweiten:
Quelltext
1: 2:
| PopupMenu2.Items.Insert(0, PopupMenu1.Items); PopupMenu2.Items[0].Caption:='Popupmenu1'; |
weil ich das nich zweimal machen darf setze ich nen tag
Quelltext
1:
| PopupMenu2.Items[0].Tag:=-1; |
und prüfe das vor dem einfügen, und lösche es ggf.:
Quelltext
1: 2: 3: 4:
| procedure TForm1.ClearPopupmenu1Copy; begin if PopupMenu2.Items[0].Tag = -1 then PopupMenu2.Items.Delete(0); end; |
und das als eigene proc weils auch im form destroy aufgerufen werden muss, weil sonst wohl beide menüs versuchen die selben items freizugeben, was natürlich schief geht
meint ihr is ok so??
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!