Как добавить элемент в TListBox и связать его с объектом данных? - PullRequest
3 голосов
/ 26 августа 2011

См. Код:

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?

Спасибо

Ответы [ 2 ]

9 голосов
/ 26 августа 2011

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

function ShowItem(MyData: TMyData): Integer;
begin
  Result := ListBox1.Items.AddObject(MyData.Caption, MyData);
end;
1 голос
/ 26 августа 2011

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

...