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;
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;
Selected: Boolean);
begin
这里可以使用
Item.Index
Item.Caption
Item.SubItems.Strings[x]
等各种属性来定位
end;或按楼上的来查找