如何访问在TListView中选择的多项?

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
            i:integer;
    begin
            if shelllistview1.Items.Count >0 then
                    for i:=0 to shelllistview1.Items.count -1 do
                            if shelllistview1.Items[i].Selected then
                                    memo1.Lines.Add('path:'+shelllistview1.Folders[i].PathName+'/name:'+shelllistview1.folders[i].displayname);end;
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
       i:integer;
    begin
       if listview1.Items.Count >0 then
          for i:=0 to listview1.Items.count -1 do
             if listview1.Items[i].Selected then
                showmessage(listview1.items[i].caption);end;
      

  3.   

    Item少一点还行,如果一多就不行了,太慢!
    有没有更好的办法
    就没有selected数组属性吗?
      

  4.   

    //delphi推荐的var 
      Item, Tmp: TListItem;
    Item := ListView_Item.Selected;
    while Item <> nil do                  // 循环删除选中的条目;
    begin
      Tmp := Item;
      Item := ListView_Item.GetNextItem(Item, sdAll, [isSelected]);
      Tmp.Delete;
    end;