博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LVITEM结构-列表视图控件的一个数据结构
阅读量:5033 次
发布时间:2019-06-12

本文共 2133 字,大约阅读时间需要 7 分钟。

列表视图控件(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  to retrieve text information if it receives a  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  notification message.

 

转载于:https://www.cnblogs.com/hongfei/archive/2012/12/23/2829848.html

你可能感兴趣的文章
使用TidCookieManager得到cookie
查看>>
faiss学习
查看>>
busybox 初始化
查看>>
sql分组拼接字段
查看>>
mdadm
查看>>
nginx超时问题
查看>>
使用Maven构建多模块项目
查看>>
Vim 常用快捷键
查看>>
lintcode :Count and Say 报数
查看>>
libeXosip2(3) -- SIP messages and call control API
查看>>
PHP-浏览器参数防注入检测函数
查看>>
面试技巧锦集
查看>>
PLSQL日期函数
查看>>
8 个最好的 jQuery 树形 Tree 插件
查看>>
jQuery的ajax跨域实现
查看>>
重温.NET下Assembly的加载过程
查看>>
前端读者 | 前端开发者调试面板vConsole
查看>>
PrimeNumber
查看>>
Array对象的方法实现(1)----Array.prototype.push和Array.prototype.concat(实现常规参数的功能)...
查看>>
UVA 10200 Prime Time 水
查看>>