Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Library: VCL / WinForms / Controls (https://www.delphipraxis.net/24-library-vcl-winforms-controls/)
-   -   Delphi Item in TActionMainMenuBar während der Laufzeit erzeugen (https://www.delphipraxis.net/10763-item-tactionmainmenubar-waehrend-der-laufzeit-erzeugen.html)

Basic-Master 24. Okt 2003 19:05


Item in TActionMainMenuBar während der Laufzeit erzeugen
 
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]


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:01 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz