本例效果图:


代码文件:


unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls; type
  TForm1 = class(TForm)
    ListView1: TListView;
    Button1: TButton;
    CheckBox1: TCheckBox;
    procedure FormCreate(Sender: TObject);
    procedure ListView1Change(Sender: TObject; Item: TListItem;
      Change: TItemChange);
    procedure CheckBox1Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  end; var
  Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject);
const
  ps: array[.., ..] of string = (
    ('赵', '男', '88'),
    ('钱', '男', '77'),
    ('孙', '女', '66'),
    ('李', '男', '55'),
    ('周', '女', '44'),
    ('吴', '女', '33'),
    ('郑', '男', '22'),
    ('王', '男', '11'));
var
  i: Integer;
  Item: TListItem;
  Column: TListColumn;
begin
    ListView1.Align := alTop;
    ListView1.ViewStyle := vsReport;
    ListView1.GridLines := True;
    ListView1.Checkboxes := True; {显示复选框}     Column := ListView1.Columns.Add;
    Column.Caption := '姓名';
    Column.Width := ListView1.Width div ;     Column := ListView1.Columns.Add;
    Column.Caption := '性别';
    Column.Width := ListView1.Width div ;     Column := ListView1.Columns.Add;
    Column.Caption := '年龄';
    Column.Width := ListView1.Width div ;   for i := Low(ps) to High(ps) do
  begin
    Item := ListView1.Items.Add;
    Item.Caption := ps[i][];
    Item.SubItems.Add(ps[i][]);
    Item.SubItems.Add(ps[i][]);
  end;   CheckBox1.Caption := 'RowSelect';
  Button1.Caption := '显示复选的项';
end; procedure TForm1.ListView1Change(Sender: TObject; Item: TListItem;
  Change: TItemChange);
begin
  if Item.SubItems.Count > then
    Text := Format('%s: %s, %s', [Item.Caption, Item.SubItems[], Item.SubItems[]]);
end; procedure TForm1.Button1Click(Sender: TObject);
var
  Item: TListItem;
  str: string;
begin
  str := '';
  for Item in ListView1.Items do
    if Item.Checked then
      str := str + Item.Caption + sLineBreak;
  ShowMessage(TrimRight(str));
end; procedure TForm1.CheckBox1Click(Sender: TObject);
begin
  ListView1.RowSelect := CheckBox1.Checked;
end; end.

窗体文件:


object Form1: TForm1
  Left =
  Top =
  Caption = 'Form1'
  ClientHeight =
  ClientWidth =
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  Position = poDesktopCenter
  OnCreate = FormCreate
  PixelsPerInch =
  TextHeight =
  object ListView1: TListView
    Left =
    Top =
    Width =
    Height =
    Columns = <>
    TabOrder =
    OnChange = ListView1Change
  end
  object Button1: TButton
    Left =
    Top =
    Width =
    Height =
    Caption = 'Button1'
    TabOrder =
    OnClick = Button1Click
  end
  object CheckBox1: TCheckBox
    Left =
    Top =
    Width =
    Height =
    Caption = 'CheckBox1'
    TabOrder =
    OnClick = CheckBox1Click
  end
end

使用 TListView 控件(4)的更多相关文章

  1. Delphi的TListView控件拖放选定行操作

    http://www.tansoo.cn/?p=401 Delphi的TListView控件拖放选定行操作的例子,效果图如下:TListView控件拖动选定行到指定位置 具体实现步骤: 一.新建一个D ...

  2. c++ builder TListView控件按字符串排序(根据网上代码亲测ok)

    //--------------------------------------------------------------------------- /* 首先将一个列表框控件安放在Form上, ...

  3. 使用 TListView 控件(2)

    本例效果图: 代码文件: unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, ...

  4. TListView控件的ReadOnly属性的一个Bug

    不知道是不是ListView的 ReadOnly属性的一个bug 1.Form上一个ListView,如图设置 2.在FormCreate事件中写如下代码:     ListView1->Rea ...

  5. 教程-Delphi第三方控件安装卸载指南

    1 只有一个DCU文件的组件.DCU文件是编译好的单元文件,这样的组件是作者不想把源码公布.一般来说,作者必须说明此组件适合Delphi的哪种版本,如果版本不对,在安装时就会出现错误.也正是因为没有源 ...

  6. Delphi 7 里没有加载的控件

    在原来版本如D5.D6中使用的控件如Quickrep,FastNet等,在D7中仍然是保留的.只是Delphi没有将他们默认的安装到组件面版中来.这些控件包全部保存在Delphi目录的bin下,文件扩 ...

  7. 教程-Delphi7 自带控件安装对应表

    原来的控件delphi7里何处寻? 经常有朋友提这样的问题,“我原来在delphi5或者delphi6中用的很熟的控件到哪里去了?是不是在delphi7中没有了呢?这是不是意味着我以前写的代码全都不能 ...

  8. Delphi中解析Xml的控件-SimDesign NativeXml

    Delphi中解析Xml的控件-SimDesign NativeXml 正在学习,感觉应用很方便.无源代码的版本还是免费的. SimDesign.NativeXml是一个delphi和bcb的XML控 ...

  9. Delphi在Listview中加入Edit控件

    原帖 : http://www.cnblogs.com/hssbsw/archive/2012/06/03/2533092.html Listview是一个非常有用的控件,我们常常将大量的数据(如数据 ...

随机推荐

  1. leetcode338—Counting Bits

    Given a non negative integer number num. For every numbers i in the range 0 ≤ i ≤ num calculate the ...

  2. CentOS虚拟机如何设置共享文件夹,并在Windows下映射网络驱动器?

    一.为什么要这么做? 最近在做Linux下的软件开发,但又想使用Windows下的编程工具“Source Insight”. 亲测有效.  要注意查看smb.conf.example,centos7的 ...

  3. 如何使用jstack分析线程状态

    背景 记得前段时间,同事说他们测试环境的服务器cpu使用率一直处于100%,本地又没有什么接口调用,为什么会这样?cpu使用率居高不下,自然是有某些线程一直占用着cpu资源,那又如何查看占用cpu较高 ...

  4. Python3入门(八)——面向对象OOP

    一.概述 老生常谈了,万物皆对象.Python作为一门面向对象的语言,也不例外 直接看一个简单的类定义和实例化类的示例: class Student: pass stu = Student() // ...

  5. 2017-2018-2 20155203《网络对抗技术》Exp2 后门原理与实践

    基础问题回答 (1)例举你能想到的一个后门进入到你系统中的可能方式? 通过下载带后门的程序或者点开带有后门的软件,或者后门本身就在我的系统里: (2)例举你知道的后门如何启动起来(win及linux) ...

  6. 20155216 Exp3 免杀原理与实践

    Exp3 免杀原理与实践 基于特征码的改变来实现免杀(实践过程记录) MSF编码器编译后门检测 可以通过VirSCAN来检验后门抗杀能力. ps:选择后门前修改其文件名,不得含有数字. 如上图所示,3 ...

  7. 20155218《网络对抗》Exp3 免杀原理与实践

    20155218<网络对抗>Exp3 免杀原理与实践 一.使用msf生成后门程序的检测 (1)将上周msf生成的后门文件放在virscan.org中进行扫描,截图如下: (2)使用msf时 ...

  8. [Oracle][Corruption]究竟哪些检查影响到 V$DATABASE_BLOCK_CORRUPTION

    根据 471716.1,11g 之后,下列动作如果遇到坏块,都会输出记录到  V$DATABASE_BLOCK_CORRUPTION. -  Analyze table .. Validate str ...

  9. VS与Opencv的亲密接触之安装配置过程

    最近想把FPGA采集的图像,上传到上位机显示,看到Opencv能帮大忙,所以就折腾折腾! 我用的是VS2012和opencv-2.4.10-2.4.10(目前的最新版本),那个版本无所谓,本文都将适用 ...

  10. HDFS-异常大全-《每日五分钟搞定大数据》

    点击看<每日五分钟搞定大数据>完整思维导图以及所有文章目录 问题1:Decomminssioning退役datanode(即删除节点) 1.配置exclude: <name>d ...