![]() |
Wie müssen neue Submenüs angesprochen werden ??
Hallo!
wie kann ich denn die Untermenüs die ich zur Laufzeit erzeugt habe abfragen ?? (Codebeispiel wie ich die Menü's erzeugt habe, siehe unten! (ist aus einem vorherigen Thread!)) Danke, Dieter
Delphi-Quellcode:
[edit=Daniel B]Delphi-Tags eingefügt. Mfg, Daniel B[/edit]
var
NeuesMenuItem, NeuesSubmenue : TMenuItem; begin NeuesSubmenue := TMenuItem.Create(Self); NeuesSubmenue .Caption := 'hallo'; menuitem.Add(NeuesSubmenue); end; |
Re: Wie müssen neue Submenüs angesprochen werden ??
Moin Dieter,
erst einmal herzlich willkommen hier in der Delphi-PRAXiS. Wenn Du einen Menüpunkt dynamisch generierst kannst Du ihm auf (mindestens, mehr fallen mir im Moment nicht ein) zwei Arten die Routine zuweisen, die über den Menüpunkt ausgeführt werden sollen.
Ich persönlich würde die zweite Variante bevorzugen, da man die verschiedenen Aktionen an verschiedenen Stellen verwenden kann (z.B. Hauptmenü, PopupMenü), zum anderen kann man sich dann im Code noch weitere Einstellungen des Menüpunktes sparen, wie z.b. den Hinttext, oder auch einen ShortCut. Dies wird alles automatisch der zugewiesenen Aktion entnommen. |
Re: Wie müssen neue Submenüs angesprochen werden ??
Hi! und vielen Dank erstmal ...
tja . leider bin ich noch recht neu in Sachen Delphi Programmierung .. deswegen wäre es nicht schlecht wenn ich da ein paar Zeilen Code bekommen könnte .. :D Danke ... Gruß, Dieter |
Re: Wie müssen neue Submenüs angesprochen werden ??
Moin Dieter,
für Variante 1 sähe das so aus:
Delphi-Quellcode:
und bei Variante 2 müsstest Du Dir noch eine ActionList auf das Formular legen, eine Action erzeugen, und dann für diese Action eine OnExecute Methode.
// Im Formular wird manuell eine Methode angelegt
TForm1 = class(TForm) //... andere Prozeduren usw. procedure NeuesMenuItemClick(Sender: TObject); // ... end; //... implementation procedure TForm1.NeuesMenuItemClick(Sender: TObject); begin // was beim Click auf das Item geschehen soll end; // in der Prozedur die das Item erzeugt: NeuesSubmenue.OnClick := NeuesMenuItemClick;
Delphi-Quellcode:
// in der Prozedur die das Item erzeugt:
NeuesSubmenue.Action := Action1; |
Re: Wie müssen neue Submenüs angesprochen werden ??
Alles klar ..
werds ausprobieren ... Danke nochmals .. Dieter |
Re: Wie müssen neue Submenüs angesprochen werden ??
Übrigens, zur Methode 2 (Nutzung von TActions) :
Wenn kein Eventhandler für OnExecute der TAction definiert ist, bleibt das assoziierte Menuitem disabled (also grau) :witch: . Hab das nicht gewusst und mir einen Wolf programmiert.... Spart evtl. dem einen oder anderen einen Irrweg.... Gruss aus Hamburg... ST2000 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz