界面库

修改目录结构
This commit is contained in:
JianjunLiu
2023-09-21 16:51:53 +08:00
parent e35938ec54
commit f77770db66
38 changed files with 30 additions and 7 deletions
+18
View File
@@ -0,0 +1,18 @@
array(
"name":"e_listview",
"version":"1.2.0",
"dir":(
),
"files":(
"e_listviewmain":(
"name":"e_listviewmain",
"type":"form"
),
"e_listview":(
"name":"e_listview",
"type":"tsl"
)
),
"mainform":"e_listviewmain",
"time":"2021-02-09 16:30:48"
)
+6
View File
@@ -0,0 +1,6 @@
//工程E_Listview界面库主程序
uses tslvcl; //引入界面库
app := InitializeApplication(); //获得界面管理器
app.CreateForm(class(E_Listviewmain),fm); //构造主窗口
fm.show(); //显示主窗口
app.run(); //开始消息循环
+105
View File
@@ -0,0 +1,105 @@
type E_Listviewmain=class(tdcreateform)
uses tslvcl;
listview1:tlistview;
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
Messageboxa(tostn(listview1.SelectedValue),"选中数据",0,self);
end
function btn7_clk(o;e);virtual;
begin
Messageboxa(tostn(listview1.ListValues),"数据",0,self);
end
function btn6_clk(o;e);virtual; //插入
begin
listview1.InsertItem(array(0,datetimetostr(now())),listview1.SelectedId);
ModifyIndex();
end
function btn4_clk(o;e);virtual; //清空所有
begin
listview1.DeleteAllColumns();
end
function btn3_clk(o;e);virtual; //删除数据项
begin
listview1.DeleteAllItems();
end
function btn2_clk(o;e);virtual; //删除选中
begin
listview1.deleteselect();
ModifyIndex();
end
function btn1_clk(o;e);virtual; //追加一项
begin
listview1.appendItem(array(listview1.ItemCount+1,datetimetostr(now())));
end
function btn5_clk(o;e);virtual; //初始数据
begin
listview1.Columns := array(("text":"id"),("text":"value","width":260));
listview1.DeleteAllItems();
d := array((1,"福田"),
(2,"南山"),
(3,"宝安"),
(4,"龙岗"),
(5,"罗湖"),
(6,"盐田")
);
listview1.Appenditems(d);
end
function e_listviewmain1_close(o;e);virtual;
begin
{**
@explan(说明) 主窗口关闭回调 %%
@param(e)(tuievent) 消息对象 %%
@param(o)(ttimer) 当前主窗口 %%
**}
if MessageBoxA('是否关闭当前窗口','关闭',MB_YESNO,o)<>IDYES then e.skip := true;
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
function ModifyIndex(); //修正序号
begin
for i := 0 to listview1.ItemCount-1 do
begin
listview1.SetSubItemByIndex(i,0,i+1);
end
end
end
@@ -0,0 +1,89 @@
object e_listviewmain1:e_listviewmain
caption="Listview范例"
height=608
left=434
minmaxbox=false
onclose=e_listviewmain1_close
top=248
width=728
wssizebox=false
object listview1:tlistview
columns= [<
width=80
text="id"
>
<
width=280
text="value"
>
]
height=532
left=17
top=17
width=384
end
object btn1:tbtn
caption="追加行"
height=31
left=432
onclick=btn1_clk
top=168
width=233
end
object btn2:tbtn
caption="删除选中行"
height=31
left=431
onclick=btn2_clk
top=221
width=233
end
object btn3:tbtn
caption="清空数据"
height=31
left=432
onclick=btn3_clk
top=275
width=232
end
object btn4:tbtn
caption="清空数据和列名"
height=31
left=431
onclick=btn4_clk
top=330
width=233
end
object btn5:tbtn
caption="初始化数据"
height=31
left=431
onclick=btn5_clk
top=73
width=229
end
object btn6:tbtn
caption="在选中位置插入"
height=31
left=432
onclick=btn6_clk
top=125
width=226
end
object btn7:tbtn
caption="获得数据"
height=31
left=429
onclick=btn7_clk
top=381
width=235
end
object btn8:tbtn
caption="获得选中数据"
height=31
left=431
onclick=btn8_clk
top=428
width=232
end
end