Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- VirtualTreeview drag and drop to arrange nodes in a list
- uses
- ActiveX;
- procedure TForm1.vt1DragAllowed(Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex;
- var Allowed: Boolean);
- begin
- Allowed := True;
- end;
- procedure TForm1.vt1DragOver(Sender: TBaseVirtualTree; Source: TObject; Shift: TShiftState;
- State: TDragState; Pt: TPoint; Mode: TDropMode; var Effect: Integer; var Accept: Boolean);
- begin
- Accept := (Source = Sender);
- end;
- procedure TForm1.vt1DragDrop(Sender: TBaseVirtualTree; Source: TObject; DataObject: IDataObject;
- Formats: TFormatArray; Shift: TShiftState; Pt: TPoint; var Effect: Integer; Mode: TDropMode);
- var
- pSource, pTarget: PVirtualNode;
- attMode: TVTNodeAttachMode;
- begin
- pSource := TVirtualStringTree(Source).FocusedNode;
- pTarget := Sender.DropTargetNode;
- case Mode of
- dmNowhere: attMode := amNoWhere;
- dmAbove: attMode := amInsertBefore;
- dmOnNode, dmBelow: attMode := amInsertAfter;
- end;
- Sender.MoveTo(pSource, pTarget, attMode, False);
- end;
Add Comment
Please, Sign In to add comment