treeview属性DragOver、DragDrop
DragDrop:拖放完成,也就是鼠标拖入对象并在拖放区域释放。
DragEnter:拖放进入,也就是鼠标拖放对象进入拖放区域。
DragLeave:离开拖放区域。
DragOver:拖放对象悬浮于拖放区域,在拖放区域内移动时多次触发。
示例:
{只允许拖动子节点}
procedure TForm1.TreeView1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
Accept := not TTreeView(Source).Selected.HasChildren;
end;
procedure TForm1.TreeView1DragDrop(Sender, Source: TObject; X, Y: Integer);
var
n1,n2: TTreeNode;
begin
if Sender=Source then
begin
n1 := TTreeView(Sender).Selected; {源}
n2 := TTreeView(Sender).DropTarget; {目标}
TreeView1.Items.Insert(n2, n1.Text); {目标前插入}
n1.Delete; {删除源}
end;
end;
参考链接:http://www.cnblogs.com/del/archive/2008/03/13/1104035.html
浙公网安备 33010602011771号