当前位置: 首页 > news >正文

Listview_简单使用_(Virtual)

1、代码来自于“C:\Program Files (x86)\Borland\Delphi7\Demos\Virtual Listview”

  1.1、是使用 ListView来显示数据

  1.2、自己管理 ListView里面显示的信息(也就是说,不是像StringGrid那样一格一格内容往里面插入)

2、ListView 控件,属性设置:

  2.1、ViewStyle 设置为 vsReport

  2.2、OwnerData 设置为 true

  2.3、双击 ListView,添加 几个列

  2.4、GridLines 设置为 true

  2.5、RowSelect 设置为 true

  2.6、ReadOnly 设置为 true

3、测试程序界面:

 

4、测试代码:(Delphi7)

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    ListView1: TListView;
    btnListViewTest01: TButton;
    btnListViewTest02: TButton;
    procedure btnListViewTest01Click(Sender: TObject);
    procedure ListView1Data(Sender: TObject; Item: TListItem);
    procedure btnListViewTest02Click(Sender: TObject);
  private
    Flist :TList;
  public
    { Public declarations }
  end;

  Pmsg =^Rmsg;
  Rmsg = record
    Fi1 :integer;
    Fi2 :integer;
    Fi3 :integer;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.ListView1Data(Sender: TObject; Item: TListItem);
var p :Pmsg;
begin
  if ListView1.ViewStyle <> vsReport then Exit;
  if (Item.Index >= Flist.Count) then Exit;

  p := Flist.Items[Item.Index];
  Item.Caption := IntToStr(p.Fi1);
  Item.SubItems.Add(IntToStr(p.Fi2));
  Item.SubItems.Add(IntToStr(p.Fi3));
end;

procedure TForm1.btnListViewTest01Click(Sender: TObject);
var i :Integer;
    p :Pmsg;
begin
  if not Assigned(Flist) then
    Flist := TList.Create;
  if (Flist.Count <> 0) then
  begin
    for i:=0 to (Flist.Count-1) do
      FreeMem(Flist.Items[i], SizeOf(Rmsg));
    Flist.Clear;
  end;

  for i:=0 to 5 do
  begin
    GetMem(p, SizeOf(Rmsg));
    p.Fi1 := i;
    p.Fi2 := 10 + i;
    p.Fi3 := 20 + i;
    Flist.Add(p);
  end;
  ListView1.Items.Count := Flist.Count;
  ListView1.Repaint;
end;

procedure TForm1.btnListViewTest02Click(Sender: TObject);
var i :Integer;
    p :Pmsg;
begin
  if not Assigned(Flist) then
    Flist := TList.Create;
  if (Flist.Count <> 0) then
  begin
    for i:=0 to (Flist.Count-1) do
      FreeMem(Flist.Items[i], SizeOf(Rmsg));
    Flist.Clear;
  end;

  for i:=0 to 50 do
  begin
    GetMem(p, SizeOf(Rmsg));
    p.Fi1 := 100 + i;
    p.Fi2 := 200 + i;
    p.Fi3 := 300 + i;
    Flist.Add(p);
  end;
  ListView1.Items.Count := Flist.Count;
  ListView1.Repaint;
end;

end.

 

5、运行情况:

  5.1、

  5.2、

 

6、

7、

8、

 

转载于:https://www.cnblogs.com/CodeSkill/p/6134178.html

相关文章:

  • NIO源码阅读
  • 上传和设置Mime类型
  • SAP S/4 HANA新变化-FI数据模型
  • 线程与异常
  • 【转载】一个优秀求职者应主动问的一些问题
  • 关于Flux,Vuex,Redux的思考
  • 文字跑马灯
  • 我掌握的linux防火墙知识
  • HttpResponseMessage 调用.net web api
  • CentOS下Samba文件服务器的安装与配置
  • 跟着百度学PHP[4]OOP面对对象编程-12-抽象类
  • 工作中用到的自定义控件
  • MySQL传统主从复制(第一弹)
  • MySQL数据库中日期中包涵零值的问题
  • 添加第三方源需要执行更新的时候报错,倒入公钥
  • [deviceone开发]-do_Webview的基本示例
  • 230. Kth Smallest Element in a BST
  • CSS魔法堂:Absolute Positioning就这个样
  • JS字符串转数字方法总结
  • LintCode 31. partitionArray 数组划分
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • 关于springcloud Gateway中的限流
  • 诡异!React stopPropagation失灵
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • [Shell 脚本] 备份网站文件至OSS服务(纯shell脚本无sdk) ...
  • 大数据全解:定义、价值及挑战
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • ​如何防止网络攻击?
  • #pragam once 和 #ifndef 预编译头
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (k8s中)docker netty OOM问题记录
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (力扣)1314.矩阵区域和
  • (十)c52学习之旅-定时器实验
  • (一)80c52学习之旅-起始篇
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (转) Android中ViewStub组件使用
  • (转)重识new
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • **登录+JWT+异常处理+拦截器+ThreadLocal-开发思想与代码实现**
  • .cn根服务器被攻击之后
  • .NET CORE 2.0发布后没有 VIEWS视图页面文件
  • .NET delegate 委托 、 Event 事件,接口回调
  • .NET Micro Framework初体验(二)
  • .NET 动态调用WebService + WSE + UsernameToken
  • .NET序列化 serializable,反序列化
  • /etc/sudoers (root权限管理)
  • @Autowired多个相同类型bean装配问题
  • @Controller和@RestController的区别?
  • @JsonFormat与@DateTimeFormat注解的使用
  • @property python知乎_Python3基础之:property