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

    mask //标明列表框单元项有的特性Set of flags that specify which members of this structure contain data to be set or which members are being requested. This can be one or more of the following flags:

    LVIF_TEXT The pszText member is valid or must be filled in.
    LVIF_IMAGE The iImage member is valid or must be filled in.
    LVIF_INDENT The iIndent member is valid or must be filled in.
    LVIF_NORECOMPUTE The control will not generate LVN_GETDISPINFO to retrieve text information if it receives a LVM_GETITEM message. Instead, the pszText member will contain LPSTR_TEXTCALLBACK.
    LVIF_PARAM The lParam member is valid or must be filled in.
    LVIF_STATE The state member is valid or must be filled in.
    LVIF_DI_SETITEM The operating system should store the requested list item information and not ask for it again. This flag is used only with the LVN_GETDISPINFO notification message.
  • 相关阅读:
    mysql学习笔记——建表需满足的三大范式
    mysql学习笔记——对数据记录查询操作的补充(单表内查询)
    mysql学习笔记——对数据表中记录的操作
    转载----- mysql 五大约束
    mysql笔记------对数据表操作
    c语言中static的用法
    解决Android抽屉被击穿问题
    解决ScrollView与ListView事件冲突
    使用Loader实时查询本地数据库用法
    Android中实现两次点击返回键退出本程序
  • 原文地址:https://www.cnblogs.com/hongfei/p/2829848.html
Copyright © 2020-2023  润新知