Thema: Delphi Listbox in Popup

Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Listbox in Popup

  Alt 8. Jul 2008, 14:01
Geht so:
Delphi-Quellcode:
//
// 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;
Ich habe es ausführlich kommentiert. Sollte so verständlich sein.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat