关于Treeview和ListView拖拽的问题!(在线等待)

hongsushou 2003-09-22 07:47:59
我现在要做一个程序,左边放Treeview,右边放ListView,ListView是Report形式,有一些记录,现在想从Listview中拖拽记录到左边的Treeview,并且在TreeView中判断是在哪个节点上,在哪个节点上,就在这个节点的下面添加该记录。
我没有作过类似的程序,紧急求救!
...全文
77 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cqzyf 2003-09-23
  • 打赏
  • 举报
回复
楼上的说这么多都是废话,还是我来吧!如下:

1,
在ListView1DragOver,与 TreeView1DragOver事件中设置接收拖动
if (Source = TreeView1) or (Source = ListView1) then
begin
Accept := True;
end;

2,如果是从Treeview到间listview拖动
则ListView1DragDrop事件中用
var
llvi_Module: TListItem; //声明ListViewItem数据类型
If (Source = TreeView1) then
begin
//得到TreeView1的所选
Snode := TreeView1.Selected ;
//在listview中增加
llvi_Module := ListView1.Items.Add;
llvi_Module.Caption := Snode.text;
//删除treeview

//删除子节点
Snode.DeleteChildren ;
//删除当前节点
Snode.Delete ;
end;

方过来一样。




hkbarton 2003-09-23
  • 打赏
  • 举报
回复
Delphi syntax:

type TDragDropEvent = procedure(Sender, Source: TObject; X, Y: Integer) of object;
property OnDragDrop: TDragDropEvent;

C++ syntax:

typedef void __fastcall (__closure *TDragDropEvent)(System::TObject* Sender, System::TObject* Source, int X, int Y);
__property TDragDropEvent OnDragDrop = {read=FOnDragDrop, write=FOnDragDrop};

Description

Use the OnDragDrop event handler to specify what happens when the user drops an object. The Source parameter of the OnDragDrop event is the object being dropped, and the Sender is the control the object is being dropped on. The X and Y parameters are the coordinates of the mouse positioned over the control
hkbarton 2003-09-23
  • 打赏
  • 举报
回复
TreeView 好象已经封装了 OnDragDrop,你只要处理这个事件就可以了,这样要简单一些
FrameSniper 2003-09-23
  • 打赏
  • 举报
回复
使用接口,可以去文档中心HKBarton的文章看看!
76liujing 2003-09-23
  • 打赏
  • 举报
回复
找个拖拽控件就可以了
Cipherliu 2003-09-23
  • 打赏
  • 举报
回复
如果加上图标,拖动效果要好一些.

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧