谢谢!!!

解决方案 »

  1.   

    procedure TForm1.ListView1Change(Sender: TObject; Item: TListItem;
      Change: TItemChange);
    begin   listview1.Selected:=item;
    end;
      

  2.   

    outer2000(天外流星):您的方法在我不选择行,仅选择checkbox时,可以实现,但是如果我选择行,则就乱了!
    您有解决方法吗?
    procedure TForm1.Button1Click(Sender: TObject);
    var
      ListItem: TListItem;
    begin
      ListItem := ListView1.Items.Add;
        ListItem.Caption := '1';
        ListItem.SubItems.Add('2');
    end;procedure TForm1.ListView1Change(Sender: TObject; Item: TListItem;
      Change: TItemChange);
    beginlistview1.Selected:=item;end;
      

  3.   

    var
        item1:TListItem;procedure TForm1.ListView1Change(Sender: TObject; Item: TListItem;
      Change: TItemChange);
    begin
      item1:=item;
    end;procedure TForm1.ListView1Click(Sender: TObject);
    begin
      listview1.Selected:=item1;
    end;
      

  4.   

    caishenye(财神爷):谢谢您,您说得对!那么如何知道我使用checkbox选择了哪些行吗?谢谢!!!
      

  5.   

    var
      Item_x : integer;
      Item_y : integer; procedure TFrmVideo.LView_SearchRltMouseUp(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    var
      i: Integer;
    begin    if self.LView_SearchRlt.GetItemAt(x,y) <> nil then
      begin
        if not LView_SearchRlt.Checkboxes then
          LView_SearchRlt.Checkboxes := True;
        
        Item_x := x;
        Item_y := y;    //以往记录
        for i := 0 to self.LView_SearchRlt.items.Count-1 do
        begin
          if self.LView_SearchRlt.Items[i].Checked then
            self.LView_SearchRlt.Items[i].Checked := False;
        end;    //当前记录
        if not LView_SearchRlt.GetItemAt(Item_x,Item_y).Checked then
          LView_SearchRlt.GetItemAt(Item_x,Item_y).Checked := True;
        LView_SearchRlt.GetItemAt(Item_x,Item_y).Selected := True;  end;end;
      

  6.   

    tongdings(痛定) :您很高!我想知道我使用checkbox选择了哪些行,也就是哪些行前的checkbox做了选择,该如何做?谢谢!!!
      

  7.   

    那你可以遍历所有的listview啊,
    或者在单击时记录下它在整体记录的位置也行吧
    你看看