106 lines
2.6 KiB
Plaintext
106 lines
2.6 KiB
Plaintext
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
|