Delphi 7 - 如何将ListView项目分配到组合框中

时间:2013-10-17 19:50:51

标签: delphi delphi-7

我正在使用此代码分配值:

combobox1.Text:=form1.listview1.Selected.Caption;

但我收到此错误:无法将TListItems分配给TComboBox

1 个答案:

答案 0 :(得分:4)

您无法将ListView.Items添加到ComboBox.Items(正如编译器告诉您的那样,一个是TListItems集合,另一个是TStrings的后代,它们不兼容类型)。您可以将选定ListItem的标题添加到ComboBox.Items

您需要将其添加到ComboBox.Items:

ComboBox1.Items.Add(ListView1.Selected.Caption);

如果您要添加所有所选项,则需要使用循环:

var
  Item: TListItem;
begin
  Item := ListView1.Selected;
  while Item <> nil do
  begin
    ComboBox1.Items.Add(Item.Caption);
    Item := ListView1.GetNextItem(Item, sdAll, [isSelected]);
  end;

如果您只想将ListView中的所有项目添加到ComboBox(这看似毫无意义,因为它们已经显示在ListView中):

var
  i: Integer;
begin
  for i := 0 to ListView1.Items.Count - 1 do
    ComboBox1.Items.Add(ListView1.Items[i].Caption);
end;