Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Прокручивать TTreeView во время перемещения

01.01.2007
procedure TForm1.TreeView1DragOver(Sender, Source: TObject; X, Y: Integer;
   State: TDragState; var Accept: Boolean);
 begin
   if (y < 15) then {On the upper edge - should scroll up }
     SendMessage(TreeView1.Handle, WM_VSCROLL, SB_LINEUP, 0)
   else if (TreeView1.Height - y < 15) then { On the lower edge - should scroll down }
     SendMessage(TreeView1.Handle, WM_VSCROLL, SB_LINEDOWN, 0);
 end;

Взято с сайта: https://www.swissdelphicenter.ch