首页 > 代码库 > ListView往TreView里面拖拽
ListView往TreView里面拖拽
ListView往TreView里面拖拽
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls;
type
TForm1 = class(TForm)
TreeView1: TTreeView;
ListView1: TListView;
procedure TreeView1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
procedure TreeView1DragDrop(Sender, Source: TObject; X, Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.TreeView1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
Accept := False;
if (source is TTreeView) or (source is TListView) then
Accept := True;
end;
procedure TForm1.TreeView1DragDrop(Sender, Source: TObject; X, Y: Integer);
var
tSrcNode, tDesNode: TTreeNode;
begin
tDesNode := TTreeView(Sender).GetNodeAt(X, Y);
if Source is TTreeView then
begin
tSrcNode := TTreeView(Sender).Selected;
tSrcNode.MoveTo(tDesNode, naAddChild);
end;
if Source is TListView then
begin
TreeView1.Items.AddChild(tDesNode, ListView1.Selected.Caption);
ListView1.Selected.Delete;
TreeView1.Selected.Expand(True);
end;
end;
end.
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls;
type
TForm1 = class(TForm)
TreeView1: TTreeView;
ListView1: TListView;
procedure TreeView1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
procedure TreeView1DragDrop(Sender, Source: TObject; X, Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.TreeView1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
Accept := False;
if (source is TTreeView) or (source is TListView) then
Accept := True;
end;
procedure TForm1.TreeView1DragDrop(Sender, Source: TObject; X, Y: Integer);
var
tSrcNode, tDesNode: TTreeNode;
begin
tDesNode := TTreeView(Sender).GetNodeAt(X, Y);
if Source is TTreeView then
begin
tSrcNode := TTreeView(Sender).Selected;
tSrcNode.MoveTo(tDesNode, naAddChild);
end;
if Source is TListView then
begin
TreeView1.Items.AddChild(tDesNode, ListView1.Selected.Caption);
ListView1.Selected.Delete;
TreeView1.Selected.Expand(True);
end;
end;
end.
来自为知笔记(Wiz)
附件列表
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。