Заработала такая процедура, правда корявенько
Код:
var
rct:TRECT;
i: integer;
s:ShortString;
const LVM_GETITEMRECT=4110; LVIR_BOUNDS=0;
begin
for i:=0 to ListView1.Items.Count-1 do
begin
s:=Ansiuppercase(system.Copy(form1.ListView1.Items[i].Caption,0,length(edit1.Text)));
if Ansiuppercase(Edit1.text)=s then
begin
ListView1.Selected:=ListView1.Items[i];
rct.Left:=0;
SendMessage(ListView1.Handle,LVM_GETITEMRECT,0,integer(@rct));
ListView1.Scroll(0,(i-ListView1.TopItem.Index)*(rct.Bottom-rct.Top));
Listview1.SetFocus;
Проблема в том, что при вводе первой буквы, находит файл и переходит на него, чтобы ввести следующую букву нужно
тыркать в edit. Понятно, что это из-за Listview1.SetFocus;, но без этого не происходит подсветки строки, как можно переделать, чтобы фокус оставался на edit`e, но при этом была подсветка найденной строки?