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

列表视图控件(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;

mask
Set of flags that specify which members of this structure contain data to be set or which members are being requested. This member can have one or more of the following flags set:
FlagDescription
LVIF_COLUMNSThe cColumns member is valid or must be filled in.
LVIF_DI_SETITEMThe operating system should store the requested list item information and not ask for it again. This flag is used only with theLVN_GETDISPINFO notification message.
LVIF_GROUPIDThe iGroupID member is valid or must be filled in.
LVIF_IMAGEThe iImage member is valid or must be filled in.
LVIF_INDENTThe iIndent member is valid or must be filled in.
LVIF_NORECOMPUTEThe control will not generate LVN_GETDISPINFO to retrieve text information if it receives an LVM_GETITEM message. Instead, the pszText member will contain LPSTR_TEXTCALLBACK.
LVIF_PARAMThe lParam member is valid or must be filled in.
LVIF_STATEThe state member is valid or must be filled in.
LVIF_TEXTThe pszText member is valid or must be filled in.

列表项常用的属性如下:

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

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


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值