呵呵:
TreeView1.Perform(WM_VSCROLL,SB_LINEUP,0)向上滚动
TreeView1.Perform(WM_VSCROLL,SB_LINEDOWN,0)向下滚动。

解决方案 »

  1.   

    没看清楚,ListView也一样:
    ListView1.Perform(WM_VSCROLL,SB_LINEUP,0)
    ListView1.Perform(WM_VSCROLL,SB_LINEDOWN,0)
      

  2.   

    procedure TZLFM.Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    var
        FindItem:TListItem;
        pt1,pt2:TPoint;
    begin
      if Key=13 then
      begin
        FindItem:=Listview1.FindCaption(0,edit1.text,true,true,true);
        if FindItem<>nil then
        begin
         pt2:=Listview1.TopItem.Position;
         pt1:=finditem.GetPosition;
         if pt1.y>=pt2.y then
            Listview1.Scroll(0,pt1.y-pt2.y)
          else
            Listview1.Scroll(0,-(pt2.y-pt1.y));
         Listview1.Selected:=FindItem;
         Listview1.SetFocus;
        end;
      end;
    end;