已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ListView的基本用法/增加项或列(字段)ListView1.Clear;ListView1.Columns.Clear;ListView1.Columns.Add;ListView1.Columns.Add;ListView1.Columns.Add;ListView1.Columns.Items0.Caption:=id;ListView1.Columns.Items1.Caption:=type;ListView1.Columns.Items2.Caption:=title;ListView1.Columns.Items2.Width:=300;Listview1.ViewStyle:=vsreport;Listview1.GridLines:=true;/注:此处代码也可以直接在可视化编辑器中完成,也可写成以下这样beginwith listview1 dobeginColumns.Add;Columns.Add;Columns.Add;ViewStyle:=vsreport;GridLines:=true;columns.items0.caption:=进程名;columns.items1.caption:=进程ID;columns.items2.caption:=进程文件路径;Columns.Items0.Width:=100;Columns.Items1.Width:=100;Columns.Items2.Width:=150;endend;/增加记录with listview1.items.add dobegincaption:=1212;subitems.add(hh1);subitems.add(hh2);end;/删除listview1.items.delete(0);/从数据库表里读取数据写入ListviewvarTitem:Tlistitem;/此处一定要预定义临时记录存储变量.beginListView1.Items.Clear;with adoquery1 dobeginclose;sql.Clear;sql.Add(select spmc,jg,sl from kcxs);Open;ListView1.Items.Clear;while not eof dobeginTitem:=ListView1.Items.add;Titem.Caption:=FieldByName(spmc).Value;Titem.SubItems.Add(FieldByName(sl).Value);Titem.SubItems.Add(FieldByName(jg).Value);next;end;/删除ListView1.DeleteSelected;/如何取得ListView中选中行的某一列的值procedure TForm1.Button2Click(Sender: TObject);beginShowMessage(ListView1.Selected.SubItems.Strings1); /返回选中行第三列中的值end;showMessage(listView1.Selected.Caption);/返回选中行第一列的值.第1列的值: - ListView1.Selected.Caption第i列的值(i1):- ListView1.Selected.SubItems.StringsiListView1.Items.Item1.SubItems.GetText); /取得listview某行某列的值Edit2.Text := listview1.Itemsi.SubItems.strings0;/读第i行第2列返回选中行所有子列值.是以回车符分开的,你还要从中剥离出来你要的子列的值。showMessage(ListView1.Selected.SubItems.GetText); /增加 i := ListView1.Items.Count; with ListView1 do begin ListItem:=Items.Add; ListItem.Caption:= IntToStr(i); ListItem.SubItems.Add(第 +IntToStr(i)+ 行); ListItem.SubItems.Add(第三列内容); end;/按标题删除 for i:=ListView1.Items.Count-1 downto 0 Do if ListView1.Itemsi.Caption = Edit1.Text then begin ListView1.Items.Itemi.Delete(); /删除当前选中行 end;/选中一行 if ListView1.Selected nil then Edit1.Text := ListView1.Selected.Caption;/ listview1.ItemsListview1.Items.Count -1.Selected := True;/ listview1.ItemsListview1.Items.Count -1.MakeVisible(True); procedure TForm1.Button2Click(Sender: TObject); / 选择第一条begin listview1.SetFocus; listview1.Items0.Selected := True;end;procedure TForm1.Button1Click(Sender: TObject); / 选择最后一条begin listview1.SetFocus; listview1.ItemsListview1.Items.Count -1.Selected := True;end; /这是个通用的过程procedure ListViewItemMoveUpDown(lv : TListView; Item : TListItem; MoveUp, SetFocus : Boolean);var DestItem : TListItem;begin if (Item = nil) or (Item.Index - 1 = lv.Items.Count) and (not MoveUp) then Exit; lv.Items.BeginUpdate; try if MoveUp then DestItem := lv.Items.Insert(Item.Index - 1) else DestItem := lv.Items.Insert(Item.Index + 2); DestItem.Assign(Item); lv.Selected := DestItem; Item.Free; finally lv.Items.EndUpdate; end; if SetFocus then lv.SetFocus; DestItem.MakeVisible(False);end;/此为调用过程,可以任意指定要移动的Item,下面是当前(Selected)Item ListViewItemMoveUpDown(ListView1, ListView1.Selected, True, True);/上移 ListViewItemMoveUpDown(ListView1, ListView1.Selected, False, True);/下移 TListView组件使用方法引用CommCtrl单元procedure TForm1.Button1Click(Sender: TObject);begin ListView_DeleteColumn(MyListView.Handle, i);/i是要删除的列的序号,从0开始end;用LISTVIEW显示表中的信息:procedure viewchange(listv:tlistview;table:tcustomadodataset;var i:integer); begin tlistview(listv).Items.BeginUpdate; listv:listview名 try tlistview(listv).Items.Clear; with table do table or query名 begin active:=true; first; while not eof do begin listitem:=tlistview(listv).Items.add; listitem.Caption:=trim(table.fieldsi.asstring);/ listitem.ImageIndex:=8; next; end; end; finally tlistview(listv).Items.EndUpdate; end; end;ListView使用中的一些要点。以下以一个两列的ListView为例。 增加一行:with ListView1 do begin ListItem:=Items.Add; ListItem.Caption:=第一列内容; ListItem.SubItems.Add(第二列内容); end; 清空ListView1:ListView1.Items.Clear; 得到当前被选中行的行的行号以及删除当前行:For i:=0 to ListView1.Items.Count-1 Do If ListView1.Itemsi.Selected then /i=ListView1.Selected.index begin ListView1.Items.Delete(i); /删除当前选中行 end;当然,ListView有OnSelectItem事件,可以判断选择了哪行,用个全局变量把它赋值出来。 读某行某列的操作:Edit1.Text := listview1.Itemsi.Caption; /读第i行第1列Edit2.Text := listview1.Itemsi.SubItems.strings0; /读第i行第2列Edit3.Text := listview1.Itemsi.SubItems.strings1; /读第i行第3列以次类推,可以用循环读出整列。 将焦点上移一行:For i:=0 to ListView1.Items.Count-1 Do If (ListView1.Itemsi.Selected) and (i0) then begin ListView1.SetFocus; ListView1.Items.Itemi-1.Selected := True; end;不过在Delphi6中,ListView多了一个ItemIndex属性,所以只要ListView1.SetFocus;ListView1.ItemIndex:=3;就能设定焦点了。Delphi的listview能实现交替颜色么?procedure TForm1.ListView1CustomDrawItem( Sender: TCustomListView; Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);var i: integer;begin i:= (Sender as TListView).Items.IndexOf(Item); if odd(i) then sender.Canvas.Brush.Color:= $02E0F0D7 else sender.Canvas.Brush.Color:= $02F0EED7; Sender.Canvas.FillRect(Item.DisplayRect(drIcon);end;delphi listview修改当前选中行右键单击form1上的listview 弹出form2修改后点确定listview被改掉。在form2增加一个b
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年河北太行职业学院单招职业技能考试题库含完整答案详解(易错题)
- 2025年蜀远职业学院单招综合素质考试模拟试卷附完整答案详解(典优)
- 2025年河南伏牛山职业学院高职单招职业技能考试模拟试卷附答案详解【A卷】
- 2025年邢台大峡谷技师学院高职单招职业适应性测试考试题库及完整答案详解(易错题)
- 2024年云南省高职单招职业技能考试题库及完整答案详解1套
- 2024年潍坊科技学院高职单招职业适应性测试考试题库带答案详解(研优卷)
- 2025年陕西财经职业技术学院高职单招职业适应性测试考试题库及参考答案详解(夺分金卷)
- 2026年渤海湾职业学院高职单招职业技能考试模拟试卷含完整答案详解【网校专用】
- 装饰装修工程文明施工质量保障措施
- 2025恒丰银行深圳分行社会招聘5人笔试历年典型考题及考点剖析附带答案详解
- 2026年护理技能大赛试题附参考答案详解【考试直接用】
- 2026农业4.0智慧农业领航之路行业趋势白皮书
- 湖南长沙水业集团有限公司招聘考试真题2025
- 消毒管理办法、消毒技术规范培训试题(附答案)
- 直播营销与运营 课件 项目八 数据分析
- SEMI S2 半导体制造设备安全指南培训课件
- 阿尔茨海默病BPSD多学科协作管理方案
- 仪器生产清场管理制度
- 无人机在交通设施巡检中的应用技术规范
- 2024年起重吊装作业安全指导手册
- 2024北师大版一年级数学上册《总复习》教案
评论
0/150
提交评论