Einzelnen Beitrag anzeigen

Aike

Registriert seit: 2. Okt 2004
319 Beiträge
 
#1

PopUpMenu: Komp. erstellen und dieser ein SubMenu erzeugen

  Alt 2. Jan 2005, 14:54
Hallöchen,

ich habe folgendes Problem:
Und zwar erstelle ich zur Laufzeit Einträge in einem PopUpMenu...

Delphi-Quellcode:
for i:=0 to StringListe.Count-1 do
begin
  NeuesMenuItem := TMenuItem.Create(self);
  Inc(ItemCount);

  NeuesMenuItem.Name := 'Komponente_'+IntToStr(i);
  NeuesMenuItem.Caption := StringListe.Strings[i];
  PopUpUnterMenue1.Add(NeuesMenuItem);
  NeuesMenuItem.Tag:=ItemCount;
  NeuesMenuItem.OnClick:=PopupItemClick;
end;
Das funktioniert soweit, allerdings schaffe ich es nicht, einer dieser Einträge ein SubMenu zuzuweisen. Ich habe es so versucht:

Delphi-Quellcode:
StringListe2:=TStringList.Create;
for i:=0 to StringListe.Count-2 do
begin
  StringListe2.Clear; //Wird später erweitert, sollte jetzt nicht von Belang sein
  StringListe2.Add('String1');
  StringListe2.Add('String2');
  StringListe2.Add('String3');

  for x:=1 to StringListe2.Count-1 do
  begin
    NeuesMenuItem := TMenuItem.Create(TPopUpMenu(FindComponent('Komponente_'+IntToStr(i))));
    Inc(ItemCount);
    NeuesMenuItem.Name:='Komponente_'+IntToStr(i*100+x);
    NeuesMenuItem.Caption:=StringListe2.Strings[x];
    NeuesMenuItem.Tag:=ItemCount;
// TPopUpMenu(FindComponent('Komponente_'+IntToStr(i))).Items.Add('Komponente_'+IntToStr(i*100+x)); //Funktioniert nicht ;-)
    NeuesMenuItem.OnClick:=PopUpItemClick;
  end;
end;
StringListe2.Free;
Ich hab hier schon im Forum gesucht, aber nichts Sinnvolles finden können. Ich hab es mit FindComponent versucht und so und so und hin und her. In OOP-Programmierung bin ich nicht so gut geschult

Vielen Dank für eure Hilfe!
Achim
  Mit Zitat antworten Zitat