1. //增加
  2. i := ListView1.Items.Count;
  3. with ListView1 do
  4. begin
  5. ListItem:=Items.Add;
  6. ListItem.Caption:= IntToStr(i);
  7. ListItem.SubItems.Add('第 '+IntToStr(i)+' 行');
  8. ListItem.SubItems.Add('第三列内容');
  9. end;
  10. //按标题删除
  11. for i:=ListView1.Items.Count- downto Do
  12. if ListView1.Items[i].Caption = Edit1.Text then
  13. begin
  14. ListView1.Items.Item[i].Delete(); //删除当前选中行
  15. end;
  16. //选中一行
  17. if ListView1.Selected <> nil then
  18. Edit1.Text := ListView1.Selected.Caption;
  19.  
  20. // listview1.Items[Listview1.Items.Count -1].Selected := True;
  21. // listview1.Items[Listview1.Items.Count -1].MakeVisible(True);
  22. procedure TForm1.Button2Click(Sender: TObject); // 选择第一条
  23. begin
  24. listview1.SetFocus;
  25. listview1.Items[].Selected := True;
  26. end;
  27. procedure TForm1.Button1Click(Sender: TObject); // 选择最后一条
  28. begin
  29. listview1.SetFocus;
  30. listview1.Items[Listview1.Items.Count -].Selected := True;
  31. end;
  32. //这是个通用的过程
  33. procedure ListViewItemMoveUpDown(lv : TListView; Item : TListItem; MoveUp, SetFocus : Boolean);
  34. var
  35. DestItem : TListItem;
  36. begin
  37. if (Item = nil) or
  38. ((Item.Index - < ) and MoveUp) or
  39. ((Item.Index + >= lv.Items.Count) and (not MoveUp))
  40. then Exit;
  41. lv.Items.BeginUpdate;
  42. try
  43. if MoveUp then
  44. DestItem := lv.Items.Insert(Item.Index - )
  45. else
  46. DestItem := lv.Items.Insert(Item.Index + );
  47. DestItem.Assign(Item);
  48. lv.Selected := DestItem;
  49. Item.Free;
  50. finally
  51. lv.Items.EndUpdate;
  52. end;
  53. if SetFocus then lv.SetFocus;
  54. DestItem.MakeVisible(False);
  55. end;
  56. //此为调用过程,可以任意指定要移动的Item,下面是当前(Selected)Item
  57. ListViewItemMoveUpDown(ListView1, ListView1.Selected, True, True);//上移
  58. ListViewItemMoveUpDown(ListView1, ListView1.Selected, False, True);//下移
  59.  
  60. TListView组件使用方法
  61. 引用CommCtrl单元
  62. procedure TForm1.Button1Click(Sender: TObject);
  63. begin
  64. ListView_DeleteColumn(MyListView.Handle, i);//i是要删除的列的序号,从0开始
  65. end;
  66. LISTVIEW显示表中的信息:
  67. procedure viewchange(listv:tlistview;table:tcustomadodataset;var i:integer);
  68. begin
  69. tlistview(listv).Items.BeginUpdate; {listv:listview名}
  70. try
  71. tlistview(listv).Items.Clear;
  72. with table do {table or query名}
  73. begin
  74. active:=true;
  75. first;
  76. while not eof do
  77. begin
  78. listitem:=tlistview(listv).Items.add;
  79. listitem.Caption:=trim(table.fields[i].asstring);
  80. // listitem.ImageIndex:=8;
  81. next;
  82. end;
  83. end;
  84. finally
  85. tlistview(listv).Items.EndUpdate;
  86. end;
  87. end;
  88. ListView使用中的一些要点。以下以一个两列的ListView为例。
  89. →增加一行:
  90. with ListView1 do
  91. begin
  92. ListItem:=Items.Add;
  93. ListItem.Caption:='第一列内容';
  94. ListItem.SubItems.Add('第二列内容');
  95. end;
  96. →清空ListView1
  97. ListView1.Items.Clear;
  98. →得到当前被选中行的行的行号以及删除当前行:
  99. For i:= to ListView1.Items.Count- Do
  100. If ListView1.Items[i].Selected then //i=ListView1.Selected.index
  101. begin
  102. ListView1.Items.Delete(i); //删除当前选中行
  103. end;
  104. 当然,ListViewOnSelectItem事件,可以判断选择了哪行,用个全局变量把它赋值出来。
  105. →读某行某列的操作:
  106. Edit1.Text := listview1.Items[i].Caption; //读第i行第1列
  107. Edit2.Text := listview1.Items[i].SubItems.strings[]; //读第i行第2列
  108. Edit3.Text := listview1.Items[i].SubItems.strings[]; //读第i行第3列
  109. 以次类推,可以用循环读出整列。
  110. →将焦点上移一行:
  111. For i:= to ListView1.Items.Count- Do
  112. If (ListView1.Items[i].Selected) and (i>) then
  113. begin
  114. ListView1.SetFocus;
  115. ListView1.Items.Item[i-].Selected := True;
  116. end;
  117. 不过在Delphi6中,ListView多了一个ItemIndex属性,所以只要
  118. ListView1.SetFocus;
  119. ListView1.ItemIndex:=;
  120. 就能设定焦点了。
  121.  
  122. Delphilistview能实现交替颜色么?
  123. procedure TForm1.ListView1CustomDrawItem(
  124. Sender: TCustomListView; Item: TListItem; State: TCustomDrawState;
  125. var DefaultDraw: Boolean);
  126. var
  127. i: integer;
  128. begin
  129. i:= (Sender as TListView).Items.IndexOf(Item);
  130. if odd(i) then sender.Canvas.Brush.Color:=  $02E0F0D7
  131. else sender.Canvas.Brush.Color:=  $02F0EED7;
  132. Sender.Canvas.FillRect(Item.DisplayRect(drIcon));
  133. end;

Delphi ListView的用法的更多相关文章

  1. Delphi ListView基本用法大全

    //增加项或列(字段) ListView1.Clear; ListView1.Columns.Clear; ListView1.Columns.Add; ListView1.Columns.Add; ...

  2. (转载)Delphi TStringList的用法

    Delphi TStringList的用法 TStrings是一个抽象类,在实际开发中,是除了基本类型外,应用得最多的. TStringList 常用方法与属性: var List: TStringL ...

  3. Delphi TStringList的用法

    Delphi TStringList的用法 TStrings是一个抽象类,在实际开发中,是除了基本类型外,应用得最多的. TStringList 常用方法与属性: var List: TStringL ...

  4. Delphi Inputbox,InputQuery用法

    Delphi :InputQuery,InputBox用法及区别 function InputQuery(const ACaption, APrompt: string; var Value: str ...

  5. Delphi XE4 TStringHelper用法详解

    原文地址:Delphi XE4 TStringHelper用法详解作者:天下为公 Delphi XE4的TStringHelper,对操作字符串进一步带来更多的方法,估计XE5还能继续用到. Syst ...

  6. delphi FillChar的用法(转)

    delphi FillChar的用法(转) (2012-12-24 15:12:06) 转载▼ 标签: it 分类: delphi7 FillChar的用法(delphi) Fillchar是Turb ...

  7. Delphi常用关键字用法详解

    本文详细介绍了Delphi中常用的各个关键字名称及用法,供大家在编程过程中借鉴参考之用.详情如下: absolute: ? 1 2 3 4 5 6 7 8 9 10 //它使得你能够创建一个新变量, ...

  8. Delphi中Messagedlg用法

    if MessageDlg('Welcome to my Delphi application. Exit now?', mtConfirmation, [mbYes, mbNo], 0) = mrY ...

  9. Delphi GDI+基本用法总结

    GDI+以前只是听说过,还没怎么用过,这段时间用了用,觉得挺好用的.在这里总结一下.留个备忘. GDI+(Graphics Device Interface plus)是Windows XP中的一个子 ...

随机推荐

  1. H3C CAS 介绍 & 基本概念

    目录 目录 基本概念 H3C CAS 中的虚拟机 虚拟机中的虚拟设备 虚拟 CPU 的 3 种工作模式 虚拟网卡的 3 种类型 虚拟磁盘的三种类型 虚拟机辅助工具 CAS Tools 虚拟机外的虚拟设 ...

  2. Nginx 官网文档翻译汇总

    Nginx 官网文档,各个模块的手册在这里. Nginx 中文文档 - 淘宝翻译 改版后的新 Nginx 官网文档 概述 新手指南 控制 Nginx 管理员指南 Admin Guide 安装 基本功能 ...

  3. mongo可视化工具adminMongo安装

    git环境搭建下载地址:https://git-scm.com/downloads 此处,安装环境为windows操作系统,所以选择windows版本下载一直下一步,直至安装完成找到安装git的目录下 ...

  4. v-text、v-html、v-bind、v-show

    <!doctype html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. JUnit的基本使用

    一些关于单元测试的理念:    单元测试并不能证明你的代码是正确的,只能证明你的代码是没有错误的. Keep bar green and keep your code cool    关于JUnit的 ...

  6. package和import语句_4

    J2SDK中主要的包介绍   java.lang—包含一些Java语言的核心类,如String.Math.Integer.System和 Thread,提供常用功能. java.awt—包含了构成抽象 ...

  7. Struts2之动态方法调用

    1.感叹号 前台页面 <%@ page language="java" contentType="text/html; charset=UTF-8" pa ...

  8. [BZOJ3307] 雨天的尾巴(树上差分+线段树合并)

    [BZOJ3307] 雨天的尾巴(树上差分+线段树合并) 题面 给出一棵N个点的树,M次操作在链上加上某一种类别的物品,完成所有操作后,要求询问每个点上最多物品的类型. N, M≤100000 分析 ...

  9. 小B的询问(题解)(莫队)

    小B的询问(题解)(莫队) Junlier良心莫队 题目 luoguP2709 小B的询问 code #include<bits/stdc++.h> #define lst long lo ...

  10. Using Keyboard Navigation

    http://technet.microsoft.com/en-us/library/cc939835.aspx