Popupmenü in Delphi dynamisch erstellen

Ein Popup-Menü lässt sich unter Delphi leicht dynamisch erstellen. Das vorliegende Beispiele verwendet TMS-Komponenten, aber man kann hierzu auch leicht die eingebauten Delphi – Komponenten verwenden.

Um das Beispiel nachzuvollziehen, wird ein einfaches VCL-Projekt angelegt mit einem Formular.

Auf diesen Formular werden ein TAdvGlowButton sowie ein TAdvPopupMenu platziert – beide könnte man natürlich auch dynamisch erzeugen.

Zum dynamischen Hinzufügen der Menüeinträge sollte folgender Code in das FormCreate-Ereignis aufgenommen werden:

procedure TForm1.FormCreate(Sender: TObject);
var MenuItems:Tstringlist; i:Byte;
newItem:TMenuItem;
begin
MenuItems:=TStringlist.Create;
MenuItems.Add(‚Eintrag 1‘);
MenuItems.Add(‚Eintrag 2‘);
MenuItems.Add(‚Eintrag 3‘);
MenuItems.Add(‚Eintrag 4‘);
for i := 0 to menuitems.Count-1 do
begin
NewItem:=TMenuItem.Create(AdvPopupMenu1);
NewItem.Caption:=menuitems.Strings[i];
NewItem.OnClick := PopupItemClick;
NewItem.tag:=i;
self.AdvPopupMenu1.Items.Add(newItem);
end;
menuItems.Free;
end;

Die OnClick-Routine wird dem Privat-Abschnitt der Form hinzugefügt:

private
{ Private-Deklarationen }
procedure PopupItemClick(Sender: TObject) ;

und dann im Implemenationsabschnitt hinzugefügt

procedure TForm1.PopupItemClick(Sender: TObject) ;
var x:Byte;
begin
x:=(sender as TMenuItem).tag;
showmessage(‚Sie haben Eintrag ‚+IntToStr(x+1)+‘ ausgewählt‘);
end;

Um zu wissen, welcher Menüeintrag geklickt wurde, wird die Tag – Eigenschaft des jeweiligen Menüeintrags verwendet, diese könnte dann in PopupItemClick

wie folgt ausgewertet werden:

case x of
0 : …;
1 : …;
end;

Selbstverständlich könnte man auch jedem Menüeintrag einen eigenes OnClick-Event zuweisen.

Die Stringlist ‚MenuItems‘ könnte natürlich auch aus einer Textdatei gespeist werden:

MenuItems.loadfromfile(‚Ihre Datei‘);

Jede Zeile der externen Datei enthält dann einen Menüeintrag.

Das Ganze lässt sich natürlich noch erheblich ausbauen, ist aber bereits eine vollständige Basis für ein dynamisch erstelltes Popmenü. Beispiel zum Herunterladen (Benötigt TMS Komponenten und Delphi 2009).

Viel Spaß beim Tüfteln!

Werbung

Aktuelle Top Aktionen bei Acer, HP, Lenovo, Bitdefender & Co

Angebote bei Acer

» Acer Halloween Angebot: Gratis Zubehör im Wert von bis zu 449 Euro beim Kauf eines ausgewählten Notebooks – von Swift bis Predator Helios Modellen
» Acer Spezialangebote:Rabatt und Extras auf viele Acer Notebooks, Convertibles, Gaming Notebooks und PC, Monitore und mehr


Angebote bei HP
» 10% Rabatt auf HP Pavilion Notebooks:
10% Rabatt auf HP Pavilion Notebooks/Convertibles im HP Store. Teilnehmende Notebooks und Gutschein hier im HP Store.

» HP Herbst Angebote: Attraktive Herbstangebote mit aktuellen HP Notebooks und Convertibles und vieles mehr bis 31.10.2018

Angebote bei Lenovo

» Lenovo Top Wochenangebote: Heiße ThinkPad und IdeaPad Wochenangebote mit großer Auswahl und dicken Rabatten


Weitere interessante Angebote

» Top bei Otto: Sehr gute HP Notebook Angebote, teils mit Extras wie 4 Jahre Garantie und mehr
» Mehr Aktionen in der Übersicht: Aktuelle HP Angebote und mehr auf einem Blick


Aktuelle Bitdefender Aktionen:

» Bitdefender „Schulstart“ Angebot mit bis zu 44% Rabatt
» Bitdefender +1 Jahr dazu-Aktion
» Top für neue PCs! Bitdefender AntiVirus Plus Lebenslang Edition: 5 Jahre Schutz für nur für nur 89,95

Weitere aktuelle Bitdefender Angebote
» Alle Bitdefender Angebote auf einem Blick

Werbung

Notebooksbilliger: Leistungsstarke PCs


Verwandte Themen:


Sorry! Unser Kommentarfunktion ist vorübergehend geschlossen.