界面库
修改目录结构
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
array(
|
||||
"name":"e_listbox",
|
||||
"version":"1.2.0",
|
||||
"dir":(
|
||||
),
|
||||
"files":(
|
||||
"e_listboxmain":(
|
||||
"name":"e_listboxmain",
|
||||
"type":"form"
|
||||
),
|
||||
"e_listbox":(
|
||||
"name":"e_listbox",
|
||||
"type":"tsl"
|
||||
)
|
||||
),
|
||||
"mainform":"e_listboxmain",
|
||||
"time":"2021-02-03 11:10:32"
|
||||
)
|
||||
@@ -0,0 +1,6 @@
|
||||
//工程E_ListBox界面库主程序
|
||||
uses tslvcl; //引入界面库
|
||||
app := InitializeApplication(); //获得界面管理器
|
||||
app.CreateForm(class(E_ListBoxmain),fm); //构造主窗口
|
||||
fm.show(); //显示主窗口
|
||||
app.run(); //开始消息循环
|
||||
@@ -0,0 +1,94 @@
|
||||
type E_ListBoxmain=class(tdcreateform)
|
||||
uses tslvcl;
|
||||
listbox1:tlistbox;
|
||||
btn1:tbtn;
|
||||
btn2:tbtn;
|
||||
btn3:tbtn;
|
||||
btn4:tbtn;
|
||||
btn5:tbtn;
|
||||
btn6:tbtn;
|
||||
function Create(AOwner);override; //构造
|
||||
begin
|
||||
inherited;
|
||||
end
|
||||
function btn6_clk(o;e);virtual; //选择当前选中项的后一项
|
||||
begin
|
||||
if listbox1.Multisel=0 then
|
||||
begin
|
||||
idx := listbox1.getCurrentSelection();
|
||||
nidx := (idx+1+listbox1.ItemCount) mod listbox1.ItemCount;
|
||||
listbox1.setCurrentSelection(nidx);
|
||||
end
|
||||
end
|
||||
function btn5_clk(o;e);virtual; //在选中项前插入
|
||||
begin
|
||||
listbox1.insertItem(datetimetostr(now()),listbox1.getCurrentSelection());
|
||||
end
|
||||
|
||||
function btn4_clk(o;e);virtual; //在最后加入
|
||||
begin
|
||||
listbox1.appendItem(datetimetostr(now()));
|
||||
end
|
||||
function btn3_clk(o;e);virtual; //多选单选设置
|
||||
begin
|
||||
if o.caption="多选/(单选)" then
|
||||
begin
|
||||
listbox1.Multisel := 1;
|
||||
o.caption :="(多选)/单选";
|
||||
end else
|
||||
begin
|
||||
listbox1.Multisel := 0;
|
||||
o.caption :="多选/(单选)"
|
||||
end
|
||||
end
|
||||
|
||||
function btn2_clk(o;e);virtual; //删除选中
|
||||
begin
|
||||
listbox1.DeleteSelectedItems();
|
||||
end
|
||||
function btn1_clk(o;e);virtual; //初始化数据
|
||||
begin
|
||||
InitListData();
|
||||
end
|
||||
function InitListData();
|
||||
begin
|
||||
listbox1.Items := array(
|
||||
"龙岗区",
|
||||
"盐田区",
|
||||
"坪山区",
|
||||
"大鹏新区",
|
||||
"深汕特别合作区",
|
||||
"宝安区",
|
||||
"光明区",
|
||||
"南山区",
|
||||
"福田",
|
||||
"南山"
|
||||
);
|
||||
end
|
||||
function e_listboxmain1_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
|
||||
end
|
||||
@@ -0,0 +1,53 @@
|
||||
object e_listboxmain1:e_listboxmain
|
||||
caption="ListBox 范例"
|
||||
height=585
|
||||
left=374
|
||||
onclose=e_listboxmain1_close
|
||||
top=189
|
||||
width=559
|
||||
object listbox1:tlistbox
|
||||
caption="listbox1"
|
||||
height=526
|
||||
left=6
|
||||
top=12
|
||||
width=400
|
||||
end
|
||||
object btn1:tbtn
|
||||
caption="设置初始值"
|
||||
height=31
|
||||
left=416
|
||||
onclick=btn1_clk
|
||||
top=34
|
||||
width=94
|
||||
end
|
||||
object btn2:tbtn
|
||||
caption="删除选择"
|
||||
left=419
|
||||
onclick=btn2_clk
|
||||
top=83
|
||||
end
|
||||
object btn3:tbtn
|
||||
caption="多选/(单选)"
|
||||
left=419
|
||||
onclick=btn3_clk
|
||||
top=134
|
||||
end
|
||||
object btn4:tbtn
|
||||
caption="追加一项"
|
||||
left=419
|
||||
onclick=btn4_clk
|
||||
top=187
|
||||
end
|
||||
object btn5:tbtn
|
||||
caption="插入"
|
||||
left=419
|
||||
onclick=btn5_clk
|
||||
top=238
|
||||
end
|
||||
object btn6:tbtn
|
||||
caption="选择后一项"
|
||||
left=420
|
||||
onclick=btn6_clk
|
||||
top=289
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user