Autor Beitrag
mexx
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1183



BeitragVerfasst: Di 10.07.07 10:37 
Ich möchte ein Popup erzeugen, welches als Items die Items hat, wie ein anderes PopUp hat.

ausblenden 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?

_________________
Das Unsympathische an den Computern ist, dass sie nur ja oder nein sagen können, aber nicht vielleicht.
Stefan.Buchholtz
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 612

WIN 2000, WIN XP, Mac OS X
D7 Enterprise, XCode, Eclipse, Ruby On Rails
BeitragVerfasst: 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:

ausblenden 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;
    // weitere Properties falls nötig kopieren
    Items.Add(menuItem);  
  end
end;


Stefan

_________________
Ein Computer ohne Windows ist wie eine Schokoladentorte ohne Senf.