RichEdit で、「目的の行」を表示したい
(つまり、指定した行が一番上に表示されるように
スクロールしたい)のですが、
EM_SCROLL メッセージだと1行単位でしかスクロールできず、
大量にスクロールさせると非常に時間がかかります。

一気に n 行スクロールさせるにはどうすればよいでしょうか。

with RichEdit1 do
begin
IndexFrom := Perform( EM_GETFIRSTVISIBLELINE, 0, 0 );
IndexTo := 目的の行インデックス

for i:=IndexFrom to IndexTo-1 do
Perform( EM_SCROLL, SB_LINEDOWN, 0 );

for i:=IndexTo to IndexFrom-1 do
Perform( EM_SCROLL, SB_LINEUP, 0 );
end;