比如说:在Listview 里拖动三个Listitem到Treeview的某一位置时,就在Treeview的那个位置加入这三个Listitem。
解决方案 »
- 前台用Delphi后台用c++,怎么实现?
- 调用vb写的dll的问题。在线等!!谢谢了先!!
- 如何在StringGrid中实现多选?
- 求教高手,如何使利用DCOM 编写的Client/server程序绕过防火墙?
- 怎样把字符窜(edit.Text)转化为十六进制数
- 一个问题,关于16进制的
- 开发企业管理软件,比如:进销存,采用C++BUILDER和DELPHI和VB哪一样更好??
- delphi 操作 xml,为啥存不进去呢?
- File not found: 'TestThread.dcu' 是怎么一回事呢?
- 如果程序运行时出现错误提示如下,会是哪儿的原因
- 我在窗体上有50个TEdit控件,我想取前n(n<50且是个不固定的数)个edit的内容
- 为什么我的delphi看不到oracle中定义的存储过程的参数?
在TreeView中写如下代码://判断拖动中鼠标移动的到Tree上的时候是否显示接受模式的鼠标。
procedure TForm1.TreeView1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
if Source=ListView1 then Accept:=True else
Accept:=False;
end;//用户拖动完毕后进行向Tree中添加。
procedure TForm1.TreeView1DragDrop(Sender, Source: TObject; X, Y: Integer);
var
Node: TTreeNode;
Item: TListItem;
i: Integer;
begin
if Source=ListView1 then
Node:=TreeView1.GetNodeAt(x,y);
if not Assigned(Node) then exit;
for i:=0 to ListView1.Items.Count-1 do
if ListView1.Items[9].Selected then
begin
Node:=TreeView1.Items.AddChild(Node,'???');
end;end;
以前我做成过,是看帮助搞定的
//移动 item 1 在 item 4 之后function MoveListViewItem(listView: TListView; ItemFrom, ItemTo: Word): Boolean;
var
Source, Target: TListItem;
begin
Result := False;
listview.Items.BeginUpdate;
try
Source := listview.Items[ItemFrom];
Target := listview.Items.Insert(ItemTo);
Target.Assign(Source);
Source.Free;
Result := True;
finally
listview.Items.EndUpdate;
end;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
// Listview1.ViewStyle := vsReport;
if MoveListViewItem(Listview1, 1, 4) then
ShowMessage('Moved!');
end;