如何将项添加到TListBox并将其与数据对象相关联?

时间:2011-08-26 10:26:14

标签: delphi listview listbox listboxitems

参见代码:

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 个答案:

答案 0 :(得分:9)

这应该做:

function ShowItem(MyData: TMyData): Integer;
begin
  Result := ListBox1.Items.AddObject(MyData.Caption, MyData);
end;

答案 1 :(得分:1)

没有等价物,因为列表视图的ImageIndex属性没有列表框的模拟(除非您自己实现并自定义绘制)。