Как добавить элемент в TListBox и связать его с объектом данных?

См. код:

function ShowItem(MyData: TMyData): TListItem;
var
  vListItem: TListItem;
begin
  vListItem := ListView1.Items.Add;
  vListItem.Data := MyData;

  vListItem.ImageIndex := 1;
  vListItem.Caption := MyData.Caption;

  Result := vListItem;
end;

Что мне нужно сделать, чтобы это работало для TListBox? Свойство ListView.Items похоже на свойство TListItem, а ListBox.Items — нет, что означает, что функция не сможет вернуть правильный параметр для TListBox.

Как я могу преобразовать это для TListBox?

Спасибо


person Community    schedule 26.08.2011    source источник


Ответы (2)


Это должно сделать:

function ShowItem(MyData: TMyData): Integer;
begin
  Result := ListBox1.Items.AddObject(MyData.Caption, MyData);
end;
person Jens Mühlenhoff    schedule 26.08.2011

Эквивалента нет, поскольку свойство ImageIndex для списков не имеет аналога для списков (если вы не реализуете его самостоятельно и не нарисуете).

person David Heffernan    schedule 26.08.2011