列表视图控件

LVCOLUMN和LVITEM结构体解析 列表视图控件有两个重要的数据结构LVCOLUMN和LVITEM。LVCOLUMN用于定义报表方式下的“列”的结构;LVITEM用于定义“项”的结构。这两个结构的定义及说明如下: typedef struct _LVCOLUMN { UINT mask; //说明此结构中哪些成员是有效的 int fmt; //列的对齐方式 int c 阅读详情

列表视图控件(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表示取消控件所有列的标题。
typedef struct _LVITEM { UINT mask; int iItem; int iSubItem; UINT state; UINT stateMask; LPTSTR pszText; int cchTextMax; int iImage; LPARAM lParam; #if (_WIN32_IE >= 0x0300) int iIndent; #endif } LVITEM, FAR *LPLVITEM;

Specifies or receives the attributes of a list view item. This structure has been updated to support a new mask value (LVIF_INDENT) that enables item indenting. This structure supersedes theLV_ITEM structure.

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.
iItem
Zero-based index of the item to which this structure refers.
iSubItem
One-based index of the subitem to which this structure refers, or zero if this structure refers to an item rather than a subitem.
state //标明列表框单元项将要设置的(状态)动作,其有效和无效受 stateMask过滤器控制
Indicates the item's state, state image, and overlay image. The  stateMask member indicates the valid bits of this member.

Bits 0 through 7 of this member contain the item state flags. This can be one or more of the item state values.

Bits 8 through 11 of this member specify the one-based overlay image index. Both the full-sized icon image list and the small icon image list can have overlay images. The overlay image is superimposed over the item's icon image. If these bits are zero, the item has no overlay image. To isolate these bits, use the LVIS_OVERLAYMASK mask. To set the overlay image index in this member, you should use the INDEXTOOVERLAYMASK macro. The image list's overlay images are set with theImageList_SetOverlayImage function.

Bits 12 through 15 of this member specify the state image index. The state image is displayed next to an item's icon to indicate an application-defined state. If these bits are zero, the item has no state image. To isolate these bits, use the LVIS_STATEIMAGEMASK mask. To set the state image index, you should use the INDEXTOSTATEIMAGEMASK macro. The state image index specifies the index of the image in the state image list that should be drawn. The state image list is specified with the LVM_SETIMAGELIST message.

stateMask
Value specifying which bits of the  state member will be retrieved or modified. For example, setting this member to LVIS_SELECTED will cause only the item's selection state to be retrieved.

This member allows you to modify one or more item states without having to retrieve all of the item states first. For example, setting this member to LVIS_SELECTED and state to zero will cause the item's selection state to be cleared, but none of the other states will be affected.

To retrieve or modify all of the states, set this member to (UINT)-1.

You can use the macro ListView_SetItemState both to set and to clear bits.

pszText
Address of a null-terminated string containing the item text if the structure specifies item attributes. If this member is the LPSTR_TEXTCALLBACK value, the item is a callback item. Do not set the  pszText member to LPSTR_TEXTCALLBACK if the list view control has  LVS_SORTASCENDING or LVS_SORTDESCENDING style.

If the structure is receiving item attributes, this member is the address of the buffer that receives the item text.

cchTextMax
Size of the buffer pointed to by the  pszText member if the structure is receiving item attributes. This member is ignored if the structure specifies item attributes.
iImage
Index of the item's icon in the control's image list. This applies to both the large and small image list.

If this member is the I_IMAGECALLBACK value, the parent window is responsible for storing the index. In this case, the list view control sends the parent an LVN_GETDISPINFO notification message to get the index when it needs to display the image.

lParam
32-bit value specific to the item. If you use the  LVM_SORTITEMS message, the list view control passes this value to the application-defined comparison function. You can also use the LVM_FINDITEM message to search a list view control for an item with a specified  lParam value.
iIndent
Version 4.70. Number of image widths to indent the item. A single indentation equals the width of an item image. Therefore, the value 1 indents the item by the width of one image, the value 2 indents by two images, and so on. Note that this field is supported only for items. Attempting to set subitem indentation will cause the calling function to fail.

The LVITEM structure is used with a number of messages, including LVM_GETITEM, LVM_SETITEM,LVM_INSERTITEM, and LVM_DELETEITEM.


CTreeCtrl::SetItem

BOOL SetItem( TVITEM* pItem );
BOOL SetItem( HTREEITEM hItem,
              UINT nMask,
              LPCTSTR lpszItem,
              int nImage,
              int nSelectedImage,
              UINT nState,
              UINT nStateMask,
              LPARAM lParam
             );

返回值:如果成功则返回非零值;否则返回0。

参数:

pItem一个指向包含新项属性的TVITEM结构的指针,就像在“Platform SDK”中描述的一样。
hItem要设置其属性的项的句柄。
nMask指定要设置哪些属性的整数。
lpszItem一个包含了项的文本的字符串的地址。
nImage项的图像在tree view控件的图像列表中的索引。
nSelectedImage该项的被选择图像在tree view控件的图像列表中的索引。
nState指定项的状态值。
nStateMask指定要设置哪些状态。
lParam一个与该项关联的32位的应用程序定义值。

说明:
此成员函数用来设置指定tree view项的属性。
在TVITEM结构中,hItem成员标识了这个项,mask成员指定了要设置的属性。如果mask成员或nMask参数指定的是TVIF_TEXT值,则pszText成员或lpszItem就是一个以空字符结尾的字符串的地址,而cchTextMax成员被忽略。如果mask(或nMask)指定的是TVIF_STATE值,则stateMask成员或nStateMask参数指定要改变的是哪一个项状态,而state成员或nState参数包含了那些状态的值。
WIN32汇编: 31.列表视图控件 第三十一课 列表视图控件本课中我们将学习如何创建和使用列表视图控件。 理论:列表视图控件和树型视图、丰富文本编辑控件一样是通用控件的一种。可能您都已经知道了列表视图控件,只不过是不知道它的确切名字而已。列表视图控件可以用来很好地显示项目。在这方面它和列表框相同,只不过它的性能更强。有两种方法创建一个列表视图控件。第一种也是最简单的方法是:用资源编辑器来创建它。用该种方法只是不要忘记 阅读详情

相关推荐

MFC---列表视图控件List Control (常用控件)

列表视图控件List Control同样比较常见,它能够把任何字符串内容以列表的方式显示出来,这种显示方式的特点是整洁、直观,在实际应用中能为用户带来方便。列表视图控件是对前面讲到的列表框控件List Box的改进和延伸。列表视图控件的列表项一般有图标(Icon)和标签(Label)两部分。图标是对列表项的图形描述,标签是文字描述。当然列表项可以只包含图标也可以只包含标签。列表视图控件有4种风格:Icon、Small Icon、List和Report。

Frank---7的博客 1816

LVITEM

LVITEM 列表视图控件(List Control) 列表视图控件是一种非常常用的控件,在需要以报表形式显示数据时,列表控件通常是最好的选择,许多专用的数据报表控件,也是在它的基础上派生而来。与树视图类似,列表控件可以由多个子项目组成,并且支持大图标、小图标、列表和报表4种方式显示信息,如图1所示。 图1 列表视图的4种显示方式 列表视图包含一个项目列表,而其中每个项目由

远有青山 1万+

列表视图控件List Control以及CListCtrl类

列表视图控件的创建        MFC同样为列表视图控件的操作提供了CListCtrl类。        如果我们不想在对话框模板中直接拖入List Control来使用列表视图控件,而是希望动态创建它,则要用到CListCtrl类的成员函数Create函数,原型如下: virtual BOOL Create(    DWORD dwStyle,    const RECT

gateway6143的专栏 1760

LVITEM的详细介绍

书籍:《Visual C++ 2017从入门到精通》的2.3.8 Win32控件编程环境:visual studio 2022内容:【例2.26】双击某行返回行内容的列表说明:以下内容大部分来自腾讯元宝。以下是关于。

felicity_one的博客 1118

LVCOLUMN与LVITEM结构体详解.rar_vc++

详细介绍LVCOLUMN与LVITEM结构体的构成及使用方法

向其他程序的ListView控件发送LVM_GETITEMTEXTVC源代码

本代码实现取得其它进程中ListView中的信息 关键字:WriteProcessMemory,VirtualAllocEx,OpenProcess,ListView,LVM_GETITEMTEXT

列表视图控件_视图和控件

列表视图控件 您一直在等待的完整SwiftUI 2文档 (The Complete SwiftUI 2 Documentation You’ve Been Waiting For) At the start of 2020, I wrote a long Medium post called The Complete SwiftUI Documentation You’ve Been Waitin...

weixin_26638123的博客 1182

Xlinx PG151 除法器IP 笔记

对Xlinx 除法器IP PG151中部分内容记录备忘。

weixin_50515160的博客 2528

MFC控件(四)(列表视图控件CListControl)

CListControl列表视图控件示例:设计用户登录模块列表视图控件,风格为:Icon;通过类向导添加变量:CListCtrl  m_UserList;1、对话框类中添加成员变量:CimageList m_ImageList;2、对话框初始化部分创建图像列表控件:m_ImageList.Create(32, 32, ILC_COLOR24|ILC_MASK, 1, 0);3、紧接着,对话框初始化部分为图像列表控件添加内容:    m_ImageList.Add(LoadIcon(AfxGetResourc

1万+

人工智能情感分析实战:文本情绪识别

人工智能情感分析,特别是文本情绪识别,已成为理解和处理人类情感信息的重要工具。通过数据预处理、特征提取、模型训练与评估等步骤,我们可以有效地从文本数据中提取情感信息,为各种应用场景提供有价值的洞察。随着技术的不断进步和创新,情感分析的应用前景将更加广阔,为我们的生活和工作带来更多便利和机遇。

shejizuopin的博客 1095

【Android14 ShellTransitions】Transition就绪:双Transaction与SurfaceControl显示时机剖析

本文深入剖析了Android14 ShellTransitions框架中Transition就绪阶段的核心机制。重点解释了为何需要“双Transaction”来精确控制SurfaceControl的显示与隐藏时机,以确保Activity切换动画的流畅性。通过分析onTransactionReady流程、窗口绘制状态机及动画目标提升策略,揭示了系统如何协调WMCore与WMShell,实现从状态收集到动画播放的无缝衔接。

ooo22的博客 529

列表视图控件一些函数

GetBkColor获取列表视图控件的背景色。    SetBkColor设置列表视图控件的背景色。    GetImageList获取用于绘制列表视图项的图象列表的句柄。    SetImageList指定一个图象列表到列表视图控件。    GetItemCount获取列表视图控件中的项的数量。    GetItem获取列表视图项的属性。    GetCallbackMask获取列表

无语的阿辉 1321

WordPress主题开发实战:从零开始手把手教你创建自定义主题(含常用函数大全)

本文是一份WordPress主题开发实战指南,从零开始手把手教你创建自定义主题。内容涵盖主题核心文件结构、模板层级与循环机制、函数与钩子的运用,并附有详细的常用函数大全,帮助开发者彻底掌握主题开发的核心技能,实现从使用者到创造者的转变。

weixin_27943395的博客 256

列表视图控件(List Control)

列表视图控件(List Control) 列表视图控件是一种非常常用的控件,在需要以报表形式显示数据时,列表控件通常是最好的选择,许多专用的数据报表控件,也是在它的基础上派生而来。与树视图类似,列表控件可以由多个子项目组成,并且支持大图标、小图标、列表和报表4种方式显示信息,如图1所示。 图1 列表视图的4种显示方式 列表视图包含一个项目列表,而其中每个项目由图标、项目名称和多个子项组成,每一

HXC_HUANG的博客 1013

保姆级教程:用Cadence Sigrity Power DC搞定HI3516A板卡电源压降仿真(含常见报错解决)

本文提供了一份详细的Cadence Sigrity Power DC直流压降仿真教程,特别针对HI3516A板卡设计。从环境准备、器件建模到仿真执行和结果解读,全面覆盖了电源完整性分析的关键步骤,并提供了常见报错的解决方案,帮助工程师快速掌握直流压降分析技术。

weixin_42569329的博客 323

FPGA JTAG接口设计全解析

JTAG是FPGA开发的核心接口,主要用于代码下载和在线调试。14-pin设计中包含TCK、TMS、TDI、TDO四个关键信号,采用信号-地布局增强抗干扰能力,TCK建议串联电阻。10-pin设计需注意转接适配,并推荐使用RCLAMP0524P等低电容TVS二极管进行ESD防护。两种接口设计都强调信号完整性和可靠性,建议PCB布局时保持JTAG走线短且预留调整空间。

在读研究生,FPGA电路设计与功能开发。 2184

ListView列表视图控件

ListView列表视图控件通常用于显示数据,用户可以对这些数据和显示方式进行某些控制。还可以把包含在控件中的数据显示为列和行(像网格一样),或者显示为一列,或者显示为图标表示。 其实列表视图控件的作用,就像我们平时浏览windows文件夹一样,可以以“列表”、“平铺”、“详细信息”、“大图标”等方式显示某一目录下的文件夹和文件。 1. ListView控件的属性

酒红的专栏 6102

Vivado报错-4 [Routed 35-3424] SLL Assignment failed ILP VU19P

Vivado报错[Routed 35-3424] SLL Assignment failed ILP VU19P

weixin_39896700的博客 1409

VC MFC列表视图(CListCtrl)控件

列表视图控件 图标风格 CListCtrl类里要了解的函数 SetImageList为列表控件关联一个图像列表 InsertItem插入一项 GetSelectionMark获取选中项的索引 GetItemText根据项索引获取项文本内容 首先往工程里引入七个图标,接着在对话框里添加一个列表视图控件,然后为控件关联一个变量CListCtrl,再往对话框类添加一个变量CImageLis

7775

openbmc 支持mctp over pcie(三)(支持作为endpoint)

本文介绍了在Intel BHS平台上支持MCTP over PCIe端点开发的调试方法。开发基于CodeConstruct和AspeedTech-BMC的开源项目,将内核驱动改为模块形式以便调试。内容包括DTS配置、驱动模块设置步骤,以及如何将BMC配置为端点设备。调试过程涉及内核模块加载、MCTPD启动、参数设置等关键命令,并展示了路由表、地址和邻居信息的测试结果。该方案仅为实验性工作,需注意停止其他使用/dev/aspeed-mctp0接口的应用。

wit_yuan的专栏 1556

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

MFC常用控件之列表视图控件(List Control)

近期学习了鸡啄米大神的博客,对其中的一些知识点做了一些自己的总结。不过,博客内容大部分来自鸡啄米。因此,这个博客算是转载博客,只是加了一些我自己的理解而已。若想学习鸡啄米大神的博客总结,请点击连接:http://www.jizhuomi.com/software/257.html 1.List Control控件:列表视图控件的列表项一般有图标(Icon)和标签(Label)两部分。图...

dixiao3078的博客 625

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

列表视图控件(一)

转载地址:http://www.jizhuomi.com/software/195.html  列表视图控件简介        列表视图控件List Control同样比较常见,它能够把任何字符串内容以列表的方式显示出来,这种显示方式的特点是整洁、直观,在实际应用中能为用户带来方便。        列表视图控件是对前面讲到的列表框控件List Box的改进和延伸。列表视图控件

记录一些平时工作或者学习中的瞬间 1630

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

[QT入门]列表视图控件

QListView是Qt中用于展示列表数据的强大控件,它通过与模型结合使用,提供了灵活且高效的数据展示方式。

weixin_45843323的博客 658
上一篇: SysListView32使用
下一篇: VC中使用ListCtrl和LVITEM 经验总结
ProgrammingRing
博客等级 码龄17年 76粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值