如题,怎样选定它,而且如果这个listview有很多项不能完全显示(有滚动条),能否直接滚动到该项显示出来。

解决方案 »

  1.   

    可以考虑用listview.scroll(dx,dy)滚动是像素级的,因此需要一个计算过程
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      ListView1.RowSelect := true;
      ListView1.ItemIndex := 6;
      ListView1.SetFocus;
      listView1.Selected.MakeVisible(true);
    end;
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      lvi: TListItem;
    begin
      ListView1.RowSelect := true;
      lvi := ListView1.FindCaption(0, Edit1.Text, false, true, true);
      if lvi = nil then Exit;
      ListView1.Selected := lvi;
      ListView1.SetFocus;
      listView1.Selected.MakeVisible(true);
    end;