![]() |
Listbox in Popup
Hallo Delphianer,
ich möchte das die Einträge in einer listbox in ein Untermenü des popup erscheinen. Also: Meine Listbox hat (z.B.) 5 Einträge (e1,e2,e3,e4,e5), im popup habe ich das Item listbox. Im Untermenu sollen dei Listbox Eintäge stehen. Hoffe ihr wisst was ich meine. danke im voraus mfg Poseidon |
Re: Listbox in Popup
Geht so:
Delphi-Quellcode:
Ich habe es ausführlich kommentiert. Sollte so verständlich sein.
//
// Klick-Ereignis für dynamische Popmenüeinträge // procedure TForm1.PopUpItemClick(Sender: TObject); var PopItem: TMenuItem; begin // Sicherstellen dass der Sender vom richtigen Typ ist PopItem := (Sender as TMenuItem); // nur wenn Zuwesusng erfolgreich if Assigned(PopItem) then begin ShowMessage(Format('Popupmenüitem Nr. %d wurde angeklickt', [PopItem.Tag])); end; end; procedure TForm1.PopupMenu1Popup(Sender: TObject); var PopItem: TMenuItem; LBItem: TMenuItem; i: Integer; begin PopItem := TMenuItem.Create(Form1); // Hauptmenüeintrag erzeugen PopItem.Caption := 'Litsbox Items'; // Beschriftung PopupMenu1.Items.Add(PopItem); // an Popupmenü anhängen for i := 0 to ListBox1.Items.Count - 1 do begin LBItem := TMenuItem.Create(Form1); // Menüitem erzeugen LBItem.Caption := Listbox1.Items[i]; // Beschriftung LBItem.Tag := i; // Eigenschaft Tag setzen zur späteren Unterscheidung im OnClick Ereignis LBItem.OnClick := PopUpItemClick; // Klick-Ereignis zuweisen PopItem.Add(LBItem); // an Hauptmenüeintrag anhängen end; end; |
Re: Listbox in Popup
Super, Danke :thumb:
|
Re: Listbox in Popup
Bei jedem Rechtsklick wird immer ein weiterer Hauptmenue Eintrag hinzugefügt, egal ob es schon existiert oder nicht.
|
Re: Listbox in Popup
Zitat:
|
Re: Listbox in Popup
Na ich würde mit:
Delphi-Quellcode:
sicherstellen dass nicht unendlich viele Hauptmenueeinträge erzeugt werden können.
if Listbox1.Items.Count = 0 then
begin PopItem := TMenuItem.Create(Fmain); // Hauptmenüeintrag erzeugen PopItem.Caption := 'Keine Einträge vorhanden'; // Beschriftung if popup.items.Count = 0 then Popup.Items.Add(PopItem); end else begin PopItem := TMenuItem.Create(Fmain); // Hauptmenüeintrag erzeugen PopItem.Caption := 'zeige Details für'; // Beschriftung if popup.items.Count = 1 then Popup.Items.Add(PopItem); end; |
Re: Listbox in Popup
Das war ja nur ein Beispielcode und nicht mehr.
|
Re: Listbox in Popup
Heeee das sollte ja auch kein Vorwurf sein :zwinker:
Ohne deine Beispiele hätte ich deutlich mehr graue Haare! :cheers: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:51 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