DragOver

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

转载于:https://www.cnblogs.com/chuangyiyuan/p/6907853.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值