TAdvStringGrid
Example 85 : VCL Drag & drop between TAdvStringGrid and a TTreeview

procedure TForm2.AdvStringGrid1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if Button = mbLeft then begin AdvStringGrid1.BeginDrag(false,5); end; end;
procedure TForm2.TreeView1DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); var node:TTreeNode; begin Accept := Source is TAdvStringGrid; if Accept then begin Node := TreeView1.GetNodeAt(x,y); if Node = nil then Exit; if Node.Level = 0 then Node.Expand(True); end; end;
procedure TForm2.TreeView1DragDrop(Sender, Source: TObject; X, Y: Integer); var node:TTreeNode; begin node := treeView1.GetNodeAt(x,y); if Assigned(Node) then begin if Node.Level = 0 then treeview1.Items.AddChild(node,(source as TAdvStringGrid).selectedText) else Node.Text := (source as TAdvStringGrid).selectedText; end else treeview1.Items.AddChild(node,(source as TAdvStringGrid).selectedText); end;
Delphi project & source files for downloading included in the main demos distribution for Delphi
×