文档章节

使用 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.4K
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源程序格式书写规范

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

长平狐
2012/09/03
182
0
delphi7 指针操作错误

源代码: unit Unit1; type TForm1 = class(TForm) Edit1: TEdit; ListView1: TListView; Button1: TButton; procedure FormCreate(Sender: TObject); procedure ListView1Deletion(Sender: T......

xjplab
2016/09/02
169
4

没有更多内容

加载失败,请刷新页面

加载更多

GO 数组相关操作

package mainimport("fmt""math/rand""time")func main() {//数组的几种定义方式var arr1 [3]int = [3]int{1,2,3}var arr2 = [3]int{4,5,6}arr3 := [3]string{"h", "w", ......

汤汤圆圆
25分钟前
0
0
JAVA 中interrupt、interrupted和isInterrupted的区别

首先,我们说明下三个方法的功能 interrupt() 向当前调用者线程发出中断信号 isinterrupted() 查看当前中断信号是true还是false interrupted() 是静态方法,查看返回当前中断信号并将中断信号...

我爱春天的毛毛雨
30分钟前
0
0
Coding and Paper Letter(二十二)

资源整理。 1 Coding: 1.开源项目openeo api。oponEO开发了一个开放的API,以简单统一的方式将R,python和javascript客户端连接到对地观测大数据云平台的后台。 此存储库包含此API,即oponE...

胖胖雕
55分钟前
1
0
RxJS的另外四种实现方式(三)——性能最高的库

接上篇 RxJS的另外四种实现方式(二)——代码最小的库(续) 代码最小的库rx4rx-lite虽然在性能测试中超过了callbag,但和most库较量的时候却落败了,于是我下载了most库,要解开most库性能...

一个灰
今天
4
0
马太效应

马太效应

yizhichao
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部