delphi 使用 TListView 控件  
官方Delphi 学习QQ群: 682628230(三千人)
频道

delphi 使用 TListView 控件


本例效果图:

代码文件:

unit Unit1;

 

interface

 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls, ComCtrls;

 

type

  TForm1 = class(TForm)

    ListView1: TListView;

    Button1: TButton;

    Button2: TButton;

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

  end;

 

var

  Form1: TForm1;

 

implementation

 

{$R *.dfm}

 

procedure TForm1.Button1Click(Sender: TObject);

begin

  ListView1.Items.Add.Caption := 'Item' + IntToStr(ListView1.Items.Count);

end;

 

procedure TForm1.Button2Click(Sender: TObject);

begin

  ListView1.Clear;

end;

 

end.



 $show_page$

本例效果图:

代码文件:

unit Unit1;

 

interface

 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls, ComCtrls;

 

type

  TForm1 = class(TForm)

    ListView1: TListView;

    Button1: TButton;

    Button2: TButton;

    RadioButton1: TRadioButton;

    RadioButton2: TRadioButton;

    RadioButton3: TRadioButton;

    procedure FormCreate(Sender: TObject);

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure RadioButton1Click(Sender: TObject);

    procedure RadioButton2Click(Sender: TObject);

    procedure RadioButton3Click(Sender: TObject);

  end;

 

var

  Form1: TForm1;

 

implementation

 

{$R *.dfm}

 

procedure TForm1.FormCreate(Sender: TObject);

begin

  ListView1.Align := alLeft;

  Button1.Caption := '添加';

  Button2.Caption := '清空';

  RadioButton1.Caption := 'ViewStyle = vsIcon';

  RadioButton2.Caption := 'ViewStyle = vsList';

  RadioButton3.Caption := 'ViewStyle = vsReport';

  RadioButton1.Checked := True;

end;

 

procedure TForm1.Button1Click(Sender: TObject);

var

  item: TListItem;

begin

  item := ListView1.Items.Add;

  item.Caption := 'Item' + IntToStr(ListView1.Items.Count);

end;

 

procedure TForm1.Button2Click(Sender: TObject);

begin

  ListView1.Clear;

end;

 

procedure TForm1.RadioButton1Click(Sender: TObject);

begin

  ListView1.ViewStyle := vsIcon; {这是默认值}

end;

 

procedure TForm1.RadioButton2Click(Sender: TObject);

begin

  ListView1.ViewStyle := vsList;

end;

 

procedure TForm1.RadioButton3Click(Sender: TObject);

begin

  ListView1.ViewStyle := vsReport;

  if ListView1.Columns.Count = 0 then ListView1.Columns.Add.Caption := '标题';

end;

 

end.

 

 $show_page$

本例效果图:

代码文件:

unit Unit1;

 

interface

 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls, ComCtrls;

 

type

  TForm1 = class(TForm)

    ListView1: TListView;

    Button1: TButton;

    Button2: TButton;

    CheckBox1: TCheckBox;

    CheckBox2: TCheckBox;

    procedure FormCreate(Sender: TObject);

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure CheckBox1Click(Sender: TObject);

    procedure CheckBox2Click(Sender: TObject);

  end;

 

var

  Form1: TForm1;

 

implementation

 

{$R *.dfm}

 

procedure TForm1.FormCreate(Sender: TObject);

var

  i: Integer;

  column: TListColumn;

begin

  for i := 0 to 5 do

  begin

    column := ListView1.Columns.Add;

    column.Caption := Format('Col %d', [i]);

  end;

 

  ListView1.Align := alTop;

  ListView1.ViewStyle := vsReport;

  ListView1.GridLines := True;         {非默认}

  ListView1.ShowColumnHeaders := True; {默认}

  CheckBox1.Caption := 'GridLines';

  CheckBox2.Caption := 'ShowColumnHeaders';

  CheckBox1.Checked := True;

  CheckBox2.Checked := True;

  Button1.Caption := '添加';

  Button2.Caption := '清空';

end;

 

procedure TForm1.Button1Click(Sender: TObject);

var

  item: TListItem;

  i: Integer;

begin

  item := ListView1.Items.Add;

  item.Caption := 'Item ' + IntToStr(item.Index);

 

  for i := 0 to ListView1.Columns.Count - 1 do

    item.SubItems.Add(Format('%d%d', [item.Index, i]));

end;

 

procedure TForm1.Button2Click(Sender: TObject);

begin

  ListView1.Items.Clear;

end;

 

procedure TForm1.CheckBox1Click(Sender: TObject);

begin

  ListView1.GridLines := CheckBox1.Checked;

end;

 

procedure TForm1.CheckBox2Click(Sender: TObject);

begin

  ListView1.ShowColumnHeaders := CheckBox2.Checked;

end;

 

end.

 

 $show_page$

本例效果图:

代码文件:

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.

 

来源:https://www.cnblogs.com/del/archive/2009/01/04/1368454.html


推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.035149097442627 seconds