procedure TForm1.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 else
      showmessage('没有找到');
  end;
end;