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