zoukankan      html  css  js  c++  java
  • VC/MFC列表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;
    列表项常用的属性如下:View指定程序运行后列表视图控件最初显示的方式,可以设置为Icon(大图标)、SmallIcon(小图标)、List(列表)或Report(报表);Single selection表示每次只能选中一个项;Auto arrange使得项目在Icon和Small Icon显示方式下能够自动排序;Edit Labels表示可以编辑项目的卷标;No column header表示取消控件所有列的标题。

     

    列表视图控件(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表示取消控件所有列的标题。
  • 相关阅读:
    省考失败总结
    Oracle基本介绍及用户的管理2
    Linux 阿里云CentOS7.6 安装 redis6.2.1 及使用客户端工具连接
    阿里云centOS7.6安装配置MySQL8.0
    ORA-01078: failure in processing system parameters LRM-00109: could not open parameter file 解决过程
    Vue SSM搭建一个简单的Demo前后端分离含增删改查(CRUD)、分页、批量功能
    Mybatis (ParameterType) 如何传递多个不同类型的参数
    eclipse的一些常用快捷键
    IntelliJ IDEA常用快捷键总结
    安装vue错误详情解决办法
  • 原文地址:https://www.cnblogs.com/flyptt/p/3635066.html
Copyright © 2011-2022 走看看