文档章节

使用 TListView 控件(4)

涂孟超
 涂孟超
发布于 2014/09/26 15:34
字数 358
阅读 6
收藏 0

本例效果图:



代码文件:
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[0..7, 0..2] 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 4;

    Column := ListView1.Columns.Add;
    Column.Caption := '性别';
    Column.Width := ListView1.Width div 4;

    Column := ListView1.Columns.Add;
    Column.Caption := '年龄';
    Column.Width := ListView1.Width div 4;

  for i := Low(ps) to High(ps) do
  begin
    Item := ListView1.Items.Add;
    Item.Caption := ps[i][0];
    Item.SubItems.Add(ps[i][1]);
    Item.SubItems.Add(ps[i][2]);
  end;

  CheckBox1.Caption := 'RowSelect';
  Button1.Caption := '显示复选的项';
end;

procedure TForm1.ListView1Change(Sender: TObject; Item: TListItem;
  Change: TItemChange);
begin
  if Item.SubItems.Count > 0 then
    Text := Format('%s: %s, %s', [Item.Caption, Item.SubItems[0], Item.SubItems[1]]);
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 = 0
  Top = 0
  Caption = 'Form1'
  ClientHeight = 156
  ClientWidth = 259
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  Position = poDesktopCenter
  OnCreate = FormCreate
  PixelsPerInch = 96
  TextHeight = 13
  object ListView1: TListView
    Left = 8
    Top = 8
    Width = 233
    Height = 109
    Columns = <>
    TabOrder = 0
    OnChange = ListView1Change
  end
  object Button1: TButton
    Left = 158
    Top = 123
    Width = 93
    Height = 25
    Caption = 'Button1'
    TabOrder = 1
    OnClick = Button1Click
  end
  object CheckBox1: TCheckBox
    Left = 8
    Top = 131
    Width = 97
    Height = 17
    Caption = 'CheckBox1'
    TabOrder = 2
    OnClick = CheckBox1Click
  end
end

 
 
 
 
 

 

 

  

本文转载自:http://www.cnblogs.com/del/archive/2009/01/04/1368454.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
私信 提问
govcl v1.0.4 释出,GO 语言 UI 组件库

1、增加了TListView、TTreeView、TPageControl几个事件; 2、增加了TListView、TTreeView排序过程; 3、修复了New控件时使用CheckPtr增加安全检测; 4、增加了TListView、TTreeView排序,图像...

不在乎y
2017/12/21
2.6K
14
govcl 1.1.3 版本更新,GO 语言 UI 组件库

更新内容: TTreeView增加TTVAdvancedCustomDrawEvent、TTVAdvancedCustomDrawItemEvent事件 TListView增加TLVAdvancedCustomDrawEvent、TLVAdvancedCustomDrawItemEvent、TLVAdvancedCustom......

不在乎y
01/04
1K
8
GO 语言 UI 组件库 - govcl

由于现有第三方的Go UI库不是太大就是用的不习惯,或者组件太少。就萌生了自己写一个UI库的想法Delphi(Lazarus)有些许多优秀的VCL(LCL)组件,不拿来使用太可惜了。所以就索性做了一套。目前支...

不在乎y
2017/10/10
6.9K
17
delphi idftp idhttp 多线程多进度条

idftp 上传 多个文件同时上传,支持断点续传,多进度条。 起初用API做,发现对API了解太少,便改用线程类来处理,代码如下 TThread1 = class(TThread) private fCount, tstart, tlast: integ...

dillonxiao
09/29
0
0
Delphi源程序格式书写规范

1 ,规范简介 本规范主要规定Delphi 源程序在书写过程中所应遵循的规则及注意事项。编写该规范的目的是使公司软件开发人员的源代码书写习惯保持一致。这样做可以使每一个组员都可以理解其它组...

长平狐
2012/09/03
214
0

没有更多内容

加载失败,请刷新页面

加载更多

微服务分布式事务实现

https://www.processon.com/view/link/5b2144d7e4b001a14d3d2d30

WALK_MAN
今天
2
0
《大漠烟尘》读书笔记及读后感文章3700字

《大漠烟尘》读书笔记及读后感文章3700字: 在这个浮躁的社会里,你有多久没有好好读完一本书了? 我们总觉得自己和别人不一样,所以当看到别人身上的问题时,很少有“反求诸己”,反思自己。...

原创小博客
今天
3
0
大数据教程(9.5)用MR实现sql中的jion逻辑

上一篇博客讲解了使用jar -jar的方式来运行提交MR程序,以及通过修改YarnRunner的源码来实现MR的windows开发环境提交到集群的方式。本篇博主将分享sql中常见的join操作。 一、需求 订单数据表...

em_aaron
今天
3
0
十万个为什么之什么是resultful规范

起源 越来越多的人开始意识到,网站即软件,而且是一种新型的软件。这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点...

尾生
今天
3
0
Terraform配置文件(Terraform configuration)

Terraform配置文件 翻译自Terraform Configuration Terraform用文本文件来描述设备、设置变量。这些文件被称为Terraform配置文件,以.tf结尾。这一部分将讲述Terraform配置文件的加载与格式。...

buddie
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部