u_form.pas
来自「很好地delphi书籍源码」· PAS 代码 · 共 89 行
PAS
89 行
unit U_Form;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, StdCtrls, ImgList;
type
TForm1 = class(TForm)
TreeView1: TTreeView;
CreateButton: TButton;
DelButton: TButton;
ImageList1: TImageList;
procedure CreateButtonClick(Sender: TObject);
procedure TreeView1DragDrop(Sender, Source: TObject; X, Y: Integer);
procedure TreeView1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
procedure DelButtonClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.CreateButtonClick(Sender: TObject);
var
MyTreeNode1, MyTreeNode2: TTreeNode;
begin
with TreeView1.Items do
begin
Clear; { 清除树上原有节点 }
MyTreeNode1 := Add(nil, '山东省');//增加第1个根节点
AddChild(MyTreeNode1,'济南市'); // 在第1个根节点添加一个子节点
MyTreeNode2:=AddChild(MyTreeNode1,'青岛市');//在第1个根节点添加另一个子节点
AddChild(MyTreeNode2,'市南区');
AddChild(MyTreeNode2,'市北区');
AddChild(MyTreeNode2,'崂山区');
MyTreeNode2 := Add(MyTreeNode1, '江苏省');//增加第2个根节点
MyTreeNode2 :=AddChild(MyTreeNode2,'南京市');
Add(MyTreeNode2,'无锡市');
Add(MyTreeNode2, '扬州市');
MyTreeNode2:=Add(MyTreeNode1, '辽宁省');//增加第3个根节点
AddChild(MyTreeNode2, '沈阳市');
AddChild(MyTreeNode2, '大连市');
end;
TreeView1.FullExpand; //展开树结构
end;
procedure TForm1.TreeView1DragDrop(Sender, Source: TObject; X, Y: Integer);
var
AnItem: TTreeNode;
AttachMode: TNodeAttachMode;
HT: THitTests;
begin
if TreeView1.Selected = nil then Exit;
HT:=TreeView1.GetHitTestInfoAt(X, Y);
AnItem:= TreeView1.GetNodeAt(X, Y);
if (HT - [htOnItem,htOnButton, htNowhere, htOnIndent] <> HT) then
begin
if (htOnItem in HT) then AttachMode := naAddChild
else if (htOnButton in HT) then AttachMode := naAddChildFirst
else if htNowhere in HT then AttachMode := naAdd
else if htOnIndent in HT then AttachMode := naInsert;
TreeView1.Selected.MoveTo(AnItem, AttachMode);
end;
end;
procedure TForm1.TreeView1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
Accept:= Source is TTreeView ;
end;
procedure TForm1.DelButtonClick(Sender: TObject);
begin
TreeView1.Selected.Delete;
TreeView1.FullExpand;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?