TreeView节点拖拉操作1
2024-10-19 14:41:36
TreeView节点拖拉操作1
//事先设置 TreeView1.DragMode= dmAutomatic;
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls;
type
TForm1 = class(TForm)
TreeView1: TTreeView;
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}
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls;
type
TForm1 = class(TForm)
TreeView1: TTreeView;
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}
//var
// node:TTreeNode;
procedure TForm1.TreeView1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
// node := TreeView1.GetNodeAt(X, Y);
// Caption:=node.Text;
Accept := Source = Sender;
if not Accept then exit;
end;
procedure TForm1.TreeView1DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
with TreeView1 do
// node:TTreeNode;
procedure TForm1.TreeView1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
// node := TreeView1.GetNodeAt(X, Y);
// Caption:=node.Text;
Accept := Source = Sender;
if not Accept then exit;
end;
procedure TForm1.TreeView1DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
with TreeView1 do
begin
if (Sender <> Source) then exit;
if (DropTarget = nil) then exit;
if (DropTarget = Selected) then exit;
Selected.MoveTo(DropTarget,naAddChildFirst);
end;
end;
end.
if (Sender <> Source) then exit;
if (DropTarget = nil) then exit;
if (DropTarget = Selected) then exit;
Selected.MoveTo(DropTarget,naAddChildFirst);
end;
end;
end.
TNodeState = (nsCut, nsDropHilited, nsFocused, nsSelected, nsExpanded);
TNodeAttachMode = (naAdd, naAddFirst, naAddChild, naAddChildFirst, naInsert);
TAddMode = (taAddFirst, taAdd, taInsert);
拖拽时可以看见拖拽的图标如果有的话
附件列表
最新文章
- 基于讯为4412开发板的Android开发流程
- php-数据库访问--增、删、改
- auto_ptr解析
- InnoTop
- JS实例(二)
- JSON字符串序列化与反序列化浅试
- JavaScript权威指南学习笔记5
- AutoCompleteTextview、MultiAutoCompleteTextView
- C#由变量捕获引起对闭包
- jquery ui sortable 实现table,row的拖动。(Make Table Rows Sortable Using jQuery UI Sortable)
- PHP接入阿里云市场 阿里短信服务DEMO
- js实现表格无缝滚动效果
- Scala 继承
- python import引入不同路径下的模块
- windows7使用Source insight上远程改动ubuntu共享内核源代码
- 【文文殿下】CF1098C Construct a tree 题解
- MongoDB自动删除过期数据--TTL索引
- unity实现框选效果
- wps标准格式
- myeclipse修改jsp文件的名称之后,再也打不开的解决方案