Einzelnen Beitrag anzeigen

Basic-Master

Registriert seit: 9. Mär 2003
Ort: Brilon
395 Beiträge
 
Delphi 2007 Enterprise
 
#1

Item in TActionMainMenuBar während der Laufzeit erzeugen

  Alt 24. Okt 2003, 19:05
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]
Christian
  Mit Zitat antworten Zitat