VC中CListCtrl中的LVCOLUMN和LVITEM详细介绍

CListCtrl是Windows编程中用于报表形式展示数据的控件,支持大图标、小图标、列表和报表四种显示方式。其核心数据结构包括LVCOLUMN和LVITEM。LVCOLUMN定义了报表方式下的列结构,包括对齐方式、宽度、标题等;LVITEM则定义了项的结构,包含索引、状态、文本等信息。这些结构体在列表视图控件的操作中起到关键作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

列表视图控件(List Control)
列表视图控件是一种非常常用的控件,在需要以报表形式显示数据时,列表控件通常是最好的选择,许多专用的数据报表控件,也是在它的基础上派生而来。与树视图类似,列表控件可以由多个子项目组成,并且支持大图标、小图标、列表和报表4种方式显示信息,如图1所示。
图1 列表视图的4种显示方式
列表视图包含一个项目列表,而其中每个项目由图标、项目名称和多个子项组成,每一个子项所包含的项目的数目必须相同,属性相同的每个子项显示在同一个列中。列表视图控件有两个重要的数据结构LVCOLUMN和LVITEM。LVCOLUMN用于定义报表方式下的“列”的结构;LVITEM用于定义“项”的结构。这两个结构的定义及说明如下:

typedef struct _LVCOLUMN {
UINT mask;          //说明此结构中哪些成员是有效的
int fmt;                 //列的对齐方式
int cx;                   //列的初始宽度
LPTSTR pszText; //列的标题
int cchTextMax;    //pszText所指向的缓冲区的大小
int iSubItem;         //与列关联的子项的索引值,从0开始
int iImage;            //与列关联的图像列表中指定图像的索引值
int iOrder;             //第几列,0代表最左一列
} LVCOLUMN, FAR *LPLVCOLUMN;


typedef struct _LVITEM {
UINT mask;           //说明LVITEM结构中哪些成员有效
int iItem;                //项目的索引值(可以视为行号)从0开始
int iSubItem;          //子项的索引值(可以视为列号)从0开始
UINT state;            //子项的状态
UINT stateMask;    //状态有效的屏蔽位
LPTSTR pszText;  //主项或子项的名称
int cchTextMax;     //pszText所指向的缓冲区大小
int iImage;              //关联图像列表中指定图像的索引值
LPARAM lParam;   //程序定义的32位参数
int iIndent;              //表示图像位置缩进的单位
} LVITEM, FAR *LPLVITEM;

列表项常用的属性如下:

View指定程序运行后列表视图控件最初显示的方式,可以设置为Icon(大图标)、SmallIcon(小图标)、List(列表)或Report(报表);Single selection表示每次只能选中一个项;

Auto arrange使得项目在Icon和Small Icon显示方式下能够自动排序;Edit Labels表示可以编辑项目的卷标;No column header表示取消控件所有列的标题。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值