Einzelnen Beitrag anzeigen

minimops

Registriert seit: 22. Jan 2004
56 Beiträge
 
Delphi 2005 Professional
 
#1

ActionMainMenuBar->dynamisch erzeugte Menüeinträge

  Alt 26. Jul 2004, 13:47
Hallo,

ich komme nicht auf die (vermutlich) einfache Lösung: Ich hänge in Menüs dynamisch Untereinträge:
Delphi-Quellcode:
procedure TFRM_Main.CreateMenuAddOns;
var i : integer;
    CPItem,
    Item : TActionClientItem;
begin
  CPItem:=ActionManager.ActionBars[0].Items[2].Items[0].Items.Add;
  CPItem.Caption:='ComPort';
  for i:=0 to 6 do begin
    ScaleComPortActions[i]:=TAction.Create(self);
    ScaleComPortActions[i].Caption:='ComPort '+IntToStr(i);
    ScaleComPortActions[i].Tag:=i-1;
    ScaleComPortActions[i].Enabled:=true;
    ScaleComPortActions[i].OnExecute:=ACT_ScaleComportExecute;
    Item:=CPItem.Items.Add;
    Item.Action:=ScaleComPortActions[i];
  end;
  ScaleComPortActions[0].Caption:='Keine Waage angeschlossen';
  ScaleComPortActions[0].Checked:=True;
end;
Ich finde das Konstrukt ActionManager.ActionBars[0].Items[2].Items[0].Items.Add schlecht.
Was ist, wenn ich die Menüs ändere? Ich muss ständig auf die Nummerierung achten.
Kann man Menüeinträge (in diesem Fall Menu->Geräte->Waage) auch symbolisch ansprechen? Also wie in den alten TMenuItems...

Vielen Dank,
Axel
  Mit Zitat antworten Zitat