文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | firefox | WPS | 杀毒软件 | Picasa
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形图像 办公软件 媒体动画 精文荟萃 常用软件 网页编程 技术开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发其他语言列表视图控件
精品推荐
特别推荐
·给你十条学习Ruby语言的理由
·分页管理机制
·Perl 语言的重要价值体现
·经验技巧:分享两条Delphi开发经验
·Java编程思想:面向对象的逻辑思维方法
·Samba系统简介
热点TOP10
·在VC6中创建wxWidgets项目[附图]
·AIX 5L 学习大纲/简易教程(2)(未经许可,请勿COPY)
·DENX U-Boot及Linux使用手册
·Visual C++ ADO数据库编程入门
·飞机躲避小游戏---是男人就撑100秒的制作
·[仿真实验]操作系统的内存管理
·三维粒子系统在AS2中的实现
·Continuation 和高级流程控制
·[分形]DLA团簇模型的摸拟
·用汇编编写DOS下的内存驻留程序(3)
·简单架设Jabber 局域网即时通讯服务器
·Palm OS应用程序设计指南之十一
·Palm OS应用程序设计指南之五
·samba和openldap结合实战
·AIX 5L 学习大纲/简易教程(1)(未经许可,请勿COPY)
·Internet Explorer 编程简述(十一)完美的Inplace Drag & Drop——“超级拖放”
·利用 wordXP 实现自动排班
·14.4 Function members
·数值计算程序大放送-线性代数方程组
·跟我一起写 Makefile

列表视图控件

日期:2008年3月18日 作者: 查看:[大字体 中字体 小字体]


  本课中我们将学习如何创建和使用列表视图控件。
理论:
列表视图控件和树型视图、丰富文本编辑控件一样是通用控件的一种。可能您都已经知道了列表视图控件,只不过是不知道它的确切名字而已。列表视图控件可以用来很好地显示项目。在这方面它和列表框相同,只不过它的性能更强。
有两种方法创建一个列表视图控件。第一种也是最简单的方法是:用资源编辑器来创建它。用该种方法只是不要忘记在您的代码(的任何位置处)加入对InitCommonControls函数的调用(记得吗,调用该函数只是为了隐式地加载包含通用控件的DLL)。另一种方法是调用CreateWindowEx函数,这里您必须指定合适的类名,譬如:SysListView32,WC_LISTVIEW不是正确的类名
在列表视图种有四种方法来显示数据:大图标,小图标,列表和报告方式。这些方法和在资源管理器种选择View->Large Icons,Small Icons , List 和 Details 相对应。各种不同的显示方式只是显示了不同的外观而已。譬如,您可能有许多的数据,只是并不想全部显示。报告方式提供的消息最完全,其它的方式则要少得多。在刚创建一个列表视图时您可以选择一种初始显示方法,随后您可以调用SetWinodwLong函数并设置GWL_STYLE标志位来改变显示方式

既然我们已经知道了如何创建列表控件,接下来我们学习如何使用它们。我们将主要集中在报告方式的显示上,因为该种方式演示了最多的列表控制的特性。使用列表控制的步骤如下:

调用CreateWindowEx函数来创建一个列表控件,指定它的类名为SysListView32。您还可以在此处指定控件初次显示时的方式。
创建和初始化用在列表控件中显示项目的图象列表(如果存在)。
向列表控件中插入列,如果显示的方式是报告方式这一步是必须的。
向控件中插入项目和自项目。
列:
在报告方式中,有不止一个列。您可以把放入到列表控件中的数据看作是一张表单:这时数据是按行列排列的。在控件中至少有一列。在其它的显示方式中则无所谓,因为这些显示方式有仅有一列。
加入列要通过向列表控件发送LVM_INSERTCOLUMN消息来实现。

LVM_INSERTCOLUMN
wParam = iCol
lParam =指向LV_COLUMN型结构体变量的指针

iCol 列数,从0开始编号。
LV_COLUMN 包含了将插入的列的信息。它的定义如下:

LV_COLUMN STRUCT
imask dd ?
fmt dd ?
lx dd ?
pszText dd ?
cchTextMax dd ?
iSubItem dd ?
iImage dd ?
iOrder dd ?
LV_COLUMN ENDS

Field name Meanings
imask 一组标志位,它指示了该结构体中的那些成员变量是有效的。该结构体中的成员变量并不是同时有效的。在某些时候,可能只有某些成员变量是有效的。结构体可以用来输入和输出。这样让WINDOWS知道那些成员变量是有效的是非常重要的。可能的标志有:

LVCF_FMT = fmt有效
LVCF_SUBITEM = iSubItem有效
LVCF_TEXT = pszText有效.
LVCF_WIDTH = lx有效

您可以一次使用几个标志。譬如,如果您向指定列的文本标签(列名),您必须在pszText成员变量中提供列名,然后指定标志LVCF_TEXT告诉WINDOWS成员变量pszText中的值是有效的,否则WINDOWS将忽略掉pszText中的值。

fmt 指定了项目/子项目的对齐方式。可能的值有:

LVCFMT_CENTER = 文本居中
LVCFMT_LEFT = 文本左对齐
LVCFMT_RIGHT = 文本右对齐

lx lx 是列的宽度(以像素点为单位)。以后您可以发送消息LVM_SETCOLUMNWIDTH来改变列的宽度。
pszText 如果用来设定列的属性时,该成员变量为指向列名的指针。如果是查询列名,该成员变量指向一个足够大的缓冲区,用来接收返回的列名,这是您必须在成员cchTextMax中指定缓冲区的大小。如果是设定列名时,可以忽略该变量,因为该指针指向的是一个ASCII码的字符串,而WINDOWS可以解析出ASCII串的长度。
cchTextMax cchTextMax 以字节计的上面一个成员变量指向的缓冲区的小。该成员变量只在您查询列的属性时使用。如果是设定列的属性,那该变量将被忽略。
iSubItem 指定和该列相连的子项目的索引号。该成员变量的值用来标识和列相连系的子项目。该列的使用最好地说明了如何把列号和子项目相连。要查询列的属性时可以发送LVM_GETCOLUMN消息,并在成员变量imask中指定LVCF_SUBITEM标志,列表控件将在iSubItem中返回插入时设定的iSubItem值。为了使用该办法,您需要在该成员变量中放入正确的值。
iImage and iOrder 为了和IE3.0以上版本兼容。目前我没有这方面的资料。

在列表视图控件创建后,您必须至少向其中插入一列。当然如果不打算使用报告方式显示,那倒是没有必要插入列。为了插入列,您需要定义一个LV_COLUMN型的结构体变量,给其成员变量赋上正确的值,指定列号,然后向列表视图控件发送LVM_INSERTCOLUMN消息并把该结构体变量的值传过去。

LOCAL lvc:LV_COLUMN
mov lvc.imask,LVCF_TEXT+LVCF_WIDTH
mov lvc.pszText,offset Heading1
mov lvc.lx,150
invoke SendMessage,hList, LVM_INSERTCOLUMN,0,addr lvc

上面的代码段显示了该过程。当发送LVM_INSERTCOLUMN消息时,他指定了列的标题条文本和它的宽度。

项目和子项目
项目是列表视图中主要的内容。除报告方式显示的外,在列表视图您只能看到项目。子项目是项目的详细信息。一个项目可能有不止一个相关的子项目。举个例子,譬如项目是文件名,那其相关的子项目可能有文件属性、大小、创建日期等。在报告方式的视图中,最左边一列是项目,其它列是子项目。从数据库记录的角度看,项目类似主键,子项目类似记录。

[1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页 




上一篇:汇编语言的艺术(组合语言的艺术)--观念正误

下一篇:系统托盘中的快捷图标

列表视图控件 相关文章:
·DataGrid 控件的使用
·AspNetPager分页控件--使用方法
·.Net分页控件发布
·如何判断ACTIVEX控件是否下载
·DataTable控件的使用
·窗体控件大小随窗体大小变化而变化
·使用ASP.NET Atlas编写显示真实进度的ProgressBar(进度条)控件
·Win32 ASM详解 十九 树型视图控件
·WEB打印设置解决方案二(利用ScriptX.cab控件改变IE打印设置)
·Visual Basic 控件简介
列表视图控件 相关软件:
·Visual Basic 6.0 控件参考手册
·VB的控件的学习
·asp.net服务器控件与组件开发
·SmartGrid表格控件 for Asp.Net(Web Grid,DataGrid) V2.0
·Visual Basic 6.0控件参考手册
·vb6控件参考手册
·SmartGrid表格控件 for Asp.Net(Web Grid,DataGrid) V2.0 For VS2003
·SmartGrid表格控件 for Asp.Net(Web Grid,DataGrid) V2.0 For VS2005
·Delhpi控件应用
·FlexCell表格控件For.NETV1.5.5

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:vipcn