Einzelnen Beitrag anzeigen

Peter-Pascal

Registriert seit: 18. Feb 2007
Ort: 32139 Spenge
199 Beiträge
 
Delphi 11 Alexandria
 
#1

ListBoxItem.ItemData.Accessory := TListBoxItemData.TAccessory(1); onclick zuweisen

  Alt 6. Jul 2020, 08:35
Hallo,

ich baue eine TListBox manuell auf und weise jedem einzelnen TListBoxItem eine Accessory zu und zwar AccessoryDetail. Wie reagiere ich auf einen Click? Wie weise onClick eine Methode zu?

Delphi-Quellcode:
 aListBox.BeginUpdate;
  aListBox.Clear;
  FMainQuery.First;
  while not (FMainQuery.Eof) do
  begin
    Item := TListBoxItem.Create(aListBox);
    aListBox.AddObject(Item);
    s := FMainQuery.FieldByName('Firma').AsString;
    Item.ItemData.Text := s;
    Item.ItemData.Detail := FMainQuery.FieldByName('Gegenstand').AsString;
    Item.Tag := FMainQuery.FieldByName('UnternehmenID').AsInteger;

    Item.ItemData.Accessory := TListBoxItemData.TAccessory.aDetail;
    item.OnClick := DoClickItem; //onclick auf das gesamte ListBoxIem
    FMainQuery.Next;
  end;
  aListBox.EndUpdate;
In den Beispielen habe ich folgenden Code gefunden:
Item.StylesData['info.OnClick'] := TValue.From<TNotifyEvent>(DoInfoClick); // set OnClick value Zum Einen verstehe ich das überhaupt nicht und funktionieren tut es bei mir auch nicht. Ganz im Gegenteil zum Beispiel, da funktioniert es prima. Beispiel: CustomListBox


Vielen Dank für die Hilfe.
Gruß Peter
Peter Niemeier

Geändert von Peter-Pascal ( 6. Jul 2020 um 08:38 Uhr)
  Mit Zitat antworten Zitat