Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)qq
published in(发表于) 2014/7/9 22:38:55
visual c++中列表视图控件(List Control)

visual c++中列表视图控件(List Control)

列表视图控件(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表示取消控件所有列的标题。

MFC提供了CListCtrl类用于实现列表视图控件的各种功能,其常用的成员函数如表1所示。

表1 CListCtrl类中常用成员函数




If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759