mexx - Di 10.07.07 10:37
Titel: Fehler beim TPopupMenu Item Hinzufügen
Ich möchte ein Popup erzeugen, welches als Items die Items hat, wie ein anderes PopUp hat.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| ... var VirtualSearchPopUp: TPopupMenu; ... VirtualSearchPopUp := TPopupMenu.Create(nil); with VirtualSearchPopUp do begin for i:=1 to AppForm.SearchDataMenu.Items.Count do begin Items.Add(AppForm.SearchDataMenu.Items[i]); end; |
Fehlermeldung: Menü zweimal eingefügt
Die Meldung ist ja so nicht richtig. Was mache ich falsch?
Stefan.Buchholtz - Di 10.07.07 11:04
Die Meldung ist schon genau richtig - du fügst einen Menüeintrag (TMenuItem), der schon in einem Menü ist, in ein anderes Menü ein. Ein Menüeintrag kann nicht in mehreren Menüs gleichzeitig sein. Du musst deswegen einen neuen Eintrag erzeugen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| var VirtualSearchPopUp: TPopupMenu; menuItem: TMenuItem; ... VirtualSearchPopUp := TPopupMenu.Create(nil); with VirtualSearchPopUp do begin for i:=0 to AppForm.SearchDataMenu.Items.Count - 1 do begin menuItem := TMenuItem.Create(VirtualSearchPopup); menuItem.Caption := AppForm.SearchDataMenu.Items[i].Caption; menuItem.OnClick := AppForm.SearchDataMenu.Items[i].OnClick; Items.Add(menuItem); end; end; |
Stefan