界面库
修改目录结构
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
array(
|
||||
"name":"e_treeview",
|
||||
"version":"1.2.0",
|
||||
"dir":(
|
||||
),
|
||||
"files":(
|
||||
"e_treeviewmain":(
|
||||
"name":"e_treeviewmain",
|
||||
"type":"form"
|
||||
),
|
||||
"e_treeview":(
|
||||
"name":"e_treeview",
|
||||
"type":"tsl"
|
||||
)
|
||||
),
|
||||
"mainform":"e_treeviewmain",
|
||||
"time":"2021-02-18 10:01:20"
|
||||
)
|
||||
@@ -0,0 +1,6 @@
|
||||
//工程E_TreeView界面库主程序
|
||||
uses tslvcl; //引入界面库
|
||||
app := InitializeApplication(); //获得界面管理器
|
||||
app.CreateForm(class(E_TreeViewmain),fm); //构造主窗口
|
||||
fm.show(); //显示主窗口
|
||||
app.run(); //开始消息循环
|
||||
@@ -0,0 +1,119 @@
|
||||
type E_TreeViewmain=class(tdcreateform)
|
||||
uses tslvcl;
|
||||
treeview1:ttreeview;
|
||||
btn1:tbtn;
|
||||
btn2:tbtn;
|
||||
btn3:tbtn;
|
||||
btn4:tbtn;
|
||||
btn5:tbtn;
|
||||
btn6:tbtn;
|
||||
btn7:tbtn;
|
||||
btn8:tbtn;
|
||||
function Create(AOwner);override; //构造
|
||||
begin
|
||||
inherited;
|
||||
end
|
||||
function btn8_clk(o;e);virtual;
|
||||
begin
|
||||
treeview1.HasLine := not treeview1.HasLine;
|
||||
end
|
||||
|
||||
function e_treeviewmain1_close(o;e);virtual;
|
||||
begin
|
||||
{**
|
||||
@explan(说明) 主窗口关闭回调 %%
|
||||
@param(e)(tuievent) 消息对象 %%
|
||||
@param(o)(ttimer) 当前主窗口 %%
|
||||
**}
|
||||
if MessageBoxA('是否关闭当前窗口','关闭',MB_YESNO,o)<>IDYES then e.skip := true;
|
||||
end
|
||||
function btn7_clk(o;e);virtual;
|
||||
begin
|
||||
Messageboxa(tostn(treeview1.RootNode.toarray()),"数据",0,self);
|
||||
end
|
||||
function btn6_clk(o;e);virtual; //修改文本
|
||||
begin
|
||||
nd := treeview1.CurrentNode;
|
||||
if not nd then return;
|
||||
r := nd.caption;
|
||||
wd := new TInPutQuerys(self);
|
||||
wd.parent := self;
|
||||
d := array(("Name":"b","value":r,"caption":"标题名:"));
|
||||
wd.SetData(d);
|
||||
if wd.ShowDlg(r1,"输入标题") then
|
||||
begin
|
||||
nd.caption := r1["b"];
|
||||
treeview1.InvalidateItem(nd);
|
||||
end
|
||||
end
|
||||
|
||||
function btn4_clk(o;e);virtual;//checkbox
|
||||
begin
|
||||
treeview1.checkbox := not treeview1.checkbox;
|
||||
treeview1.InvalidateRect(nil,false);
|
||||
end
|
||||
function btn5_clk(o;e);virtual; //删除选择
|
||||
begin
|
||||
nd := treeview1.CurrentNode;
|
||||
if nd then
|
||||
begin
|
||||
nd.Recycling();
|
||||
end
|
||||
end
|
||||
function btn3_clk(o;e);virtual;//插入子节点
|
||||
begin
|
||||
nd := treeview1.CurrentNode;
|
||||
if nd then
|
||||
begin
|
||||
nnd := treeview1.CreateTreeNode();
|
||||
nnd.caption := datetimetostr(now());
|
||||
nnd.parent := nd;
|
||||
treeview1.SetSel(nnd);
|
||||
end
|
||||
end
|
||||
function btn2_clk(o;e);virtual; //初始化
|
||||
begin
|
||||
rnd := treeview1.RootNode;
|
||||
ndsz := treeview1.CreateTreeNode();
|
||||
ndsz.caption := "深圳";
|
||||
ndsz.parent := rnd;
|
||||
ndgz := treeview1.CreateTreeNode();
|
||||
ndgz.caption := "广州";
|
||||
ndgz.parent := rnd;
|
||||
|
||||
for i,v in array("福田","罗湖","宝安","龙岗","盐田") do
|
||||
begin
|
||||
nd := treeview1.CreateTreeNode();
|
||||
nd.caption := v;
|
||||
nd.parent := ndsz;
|
||||
end
|
||||
for i,v in array("白云","花都","天河") do
|
||||
begin
|
||||
nd := treeview1.CreateTreeNode();
|
||||
nd.caption := v;
|
||||
nd.parent := ndgz;
|
||||
end
|
||||
|
||||
end
|
||||
function btn1_clk(o;e);virtual; //清空
|
||||
begin
|
||||
treeview1.RootNode.RecyclingChildren();
|
||||
end
|
||||
|
||||
function DoControlAlign();override;//对齐子控件
|
||||
begin
|
||||
//当窗口大小改变时,该函数会被调用,
|
||||
//可以通过 clientrect 获取客户区大小,设置子控件的位置以及大小
|
||||
//如果自己处理了子控件的对齐,就可以去掉 inherited
|
||||
inherited;
|
||||
end
|
||||
function Recycling();override; //回收变量
|
||||
begin
|
||||
inherited;
|
||||
ci := self.classinfo(); //将成员变量赋值为nil避免循环引用
|
||||
for i,v in ci["members"] do
|
||||
begin
|
||||
invoke(self,v["name"],nil);
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,81 @@
|
||||
object e_treeviewmain1:e_treeviewmain
|
||||
caption="树控件范例"
|
||||
height=520.0
|
||||
left=483
|
||||
minmaxbox=false
|
||||
onclose=e_treeviewmain1_close
|
||||
top=258
|
||||
width=632
|
||||
wssizebox=false
|
||||
object treeview1:ttreeview
|
||||
caption="treeview1"
|
||||
height=420
|
||||
left=15
|
||||
top=26
|
||||
width=371
|
||||
end
|
||||
object btn1:tbtn
|
||||
caption="清空树"
|
||||
height=31
|
||||
left=418
|
||||
onclick=btn1_clk
|
||||
top=412
|
||||
width=153
|
||||
end
|
||||
object btn2:tbtn
|
||||
caption="初始化数据"
|
||||
height=31
|
||||
left=418
|
||||
onclick=btn2_clk
|
||||
top=38
|
||||
width=155
|
||||
end
|
||||
object btn3:tbtn
|
||||
caption="插入子节点"
|
||||
height=31
|
||||
left=420
|
||||
onclick=btn3_clk
|
||||
top=91
|
||||
width=152
|
||||
end
|
||||
object btn4:tbtn
|
||||
caption="checkbox"
|
||||
height=31
|
||||
left=418
|
||||
onclick=btn4_clk
|
||||
top=204
|
||||
width=152
|
||||
end
|
||||
object btn5:tbtn
|
||||
caption="删除选择节点"
|
||||
height=31
|
||||
left=420
|
||||
onclick=btn5_clk
|
||||
top=148
|
||||
width=150
|
||||
end
|
||||
object btn6:tbtn
|
||||
caption="修改选中节点文本"
|
||||
height=31
|
||||
left=420
|
||||
onclick=btn6_clk
|
||||
top=308
|
||||
width=151
|
||||
end
|
||||
object btn7:tbtn
|
||||
caption="获得数据"
|
||||
height=31
|
||||
left=419
|
||||
onclick=btn7_clk
|
||||
top=360
|
||||
width=151
|
||||
end
|
||||
object btn8:tbtn
|
||||
caption="hasline"
|
||||
height=31
|
||||
left=419
|
||||
onclick=btn8_clk
|
||||
top=259
|
||||
width=150
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user