procedure TForm1.TreeView1DragDrop(Sender, Source: TObject; X, Y: Integer);
var
srcNode, destNode: TTreeNode;
begin
if (Source = TreeView1) then
with TreeView1 do begin
srcNode := Selected;
destNode := GetNodeAt(X, Y);
if srcNode.Parent = destNode.Parent then // 若是同一级则移动
srcNode.MoveTo(destNode, naInsert);
end;
end;