Básicamente, y a ver si me acuerdo de todo, los pasos para hacer Drag & Drop son los siguientes:1. Poner la propiedad del TreeView DragMode a dmAutomatic
2. Implementar el evento OnDragDrop en donde el nodo origen es TreeViedw->Selected y el nodo destino es el TreeView->DropTarget
3. Para que te haga el scrolling automáticamente cuando te vas hacia arriba o hacia abajo (fuera del area de visión del TreeView) implementa el evento OnDragOver con las condiciones siguientes:
if (Y<15)
{
SendMessage(TreeView->Handle, WM_VSCROLL, SB_LINEUP, 0);
TreeView->Refresh();
}
else if (TreeView->Height - Y < 15)
{
SendMessage(TreeView->Handle, WM_VSCROLL, SB_LINEDoWN, 0);
TreeView->Refresh();
}
Suerte