Código Delphi
[-]
procedure TFormPrincipal.EquiposStartDrag(Sender: TObject;
var DragObject: TDragObject);
begin
Label44.Caption:=equipos.Selected.Parent.Text;
end;
procedure TFormPrincipal.EquiposDragOver(Sender, Source: TObject; X,
Y: Integer; State: TDragState; var Accept: Boolean);
var
TargetNode, SourceNode: TTreeNode;
begin
TargetNode := equipos.GetNodeAt (X, Y);
if (Source = Sender) and (TargetNode <> nil) then
begin
Accept := True;
SourceNode := equipos.Selected;
while (TargetNode.Parent <> nil) and
(TargetNode <> SourceNode) do
TargetNode := TargetNode.Parent;
if TargetNode = SourceNode then
Accept := False;
end
else
Accept := False;
if y > (equipos.Top+equipos.Width) then
begin
equipos.ScrollBy(0,-2);
end;
end;
procedure TFormPrincipal.EquiposDragDrop(Sender, Source: TObject; X,
Y: Integer);
var
TargetNode, SourceNode: TTreeNode;
begin
TargetNode := equipos.GetNodeAt (X, Y);
if TargetNode <> nil then
begin
SourceNode := equipos.Selected;
SourceNode.MoveTo (TargetNode, naAddChildFirst);
TargetNode.Expand (False);
equipos.Selected := TargetNode;
end;
end;
procedure TFormPrincipal.EquiposMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
TargetNode, SourceNode: TTreeNode;
begin
TargetNode := equipos.GetNodeAt (X, Y);
if (TargetNode.ImageIndex<>0 ) and (TargetNode.ImageIndex<>7) then
equipos.BeginDrag (False);
end;
He comprobado a ver si lo hace automaticamente pero no he obtenido resultados el dragdrop es de un mismo nodo del treeview que lo quiero cambiar de posicion.
Adjunto una imagen, perdon por la calidad pero esta un poco limitado el tamaño para subir archivos