Aufruf mit Show anstatt ShowModal funktioniert leider auch nicht. Auch nicht, wenn ich dazwischen das Application.ProcessMessages habe. Ich habe wirklich den Verdacht, dass im Show die Scrollposition wieder auf
ganz oben gesetzt wird.
Scrollen tue ich mit einer Funktion, die ich so schon häufig eingesetzt habe:
Delphi-Quellcode:
procedure ListViewScrollTo(Liste: TListView; ToIndex: Integer);
var dy:Integer;
begin
if (Liste.Items.Count>1) and (ToIndex>0) then
begin
// Höhe einer Zeile
dy:=(ToIndex-Liste.TopItem.Index)*
(Liste.Items[Liste.TopItem.Index+1].GetPosition.Y-
Liste.Items[Liste.TopItem.Index].GetPosition.Y);
Liste.Scroll(0,dy);
end;
end;