Um ein Item in der Komponente TActionMainMenuBar während der Laufzeit zu erzeugen, braucht man eine ActionMainMenuBar und einen ActionManager. In der ActionMainMenuBar sollte als ActionManager der neu erstellte ActionManager angegeben sein. Und so kann man dann per Code ein einfaches Item erstellen:
Delphi-Quellcode:
var
iItem:TActionClientItem;
iAction:TAction;
begin
iAction := TAction.Create(myActionManager); //Hier wird die Action für das Item erstellt
iItem := myActionManager.ActionBars[0].Items.Add; //Und hier wird das Item zu dem Menü mit Index 0 geaddet.
iAction.Caption := 'Mein Item'; //Hier wird dem Item die Eigenschaft Caption zugewiesen.
iItem.Action := iAction; //Hier wird dem Item seine Action zugewiesen.
end;
Man kann der Action natürlich auch noch Events zuweisen. Der Grund, warum man dem Item extra eine Action zuweist, ist einfach: Nur die Action hat Events und ohne die Action könnte man dem Item keine Werte zuweisen. Wenn man einem Untermenü Dateien zuweisen will, dann kann man das ganze so machen:
Delphi-Quellcode:
var
iItem:TActionClientItem;
iAction:TAction;
begin
iAction := TAction.Create(myActionManager);
iItem := myActionManager.ActionBars[0].Items[meinErstesMenu].Items[meinErstesUntermenu].Items.Add;
iAction.Caption := 'Mein Item im Untermenü';
iItem.Action := iAction;
end;
Statt meinErstesMenu und meinErstesUntermenu müsst ihr natürlich entsprechende Werte einsetzen oder als Variablen deklarieren.
[edit=Matze]Code formatiert. Mfg, Matze[/edit]