PC技术辅导-列表视图控件.docx

上传人:博****1 文档编号:557413897 上传时间:2024-03-10 格式:DOCX 页数:6 大小:14.68KB
返回 下载 相关 举报
PC技术辅导-列表视图控件.docx_第1页
第1页 / 共6页
PC技术辅导-列表视图控件.docx_第2页
第2页 / 共6页
PC技术辅导-列表视图控件.docx_第3页
第3页 / 共6页
PC技术辅导-列表视图控件.docx_第4页
第4页 / 共6页
PC技术辅导-列表视图控件.docx_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《PC技术辅导-列表视图控件.docx》由会员分享,可在线阅读,更多相关《PC技术辅导-列表视图控件.docx(6页珍藏版)》请在金锄头文库上搜索。

1、 PC技术辅导:列表视图控件理论:列表视图控件和树型视图、丰富文本编辑控件一样是通用控件的一种。可能您都已经知道了列表视图控件,只不过是不知道它确实切名字而已。列表视图控件可以用来很好地显示工程。在这方面它和列表框一样,只不过它的性能更强。有两种方法创立一个列表视图控件。第一种也是最简洁的方法是:用资源编辑器来创立它。用该种方法只是不要遗忘在您的代码(的任何位置处)参加对InitCommonControls函数的调用(记得吗,调用该函数只是为了隐式地加载包含通用控件的DLL)。另一种方法是调用CreateWindowEx函数,这里您必需指定适宜的类名,譬如:SysListView32,WC_L

2、ISTVIEW不是正确的类名在列表视图种有四种方法来显示数据:大图标,小图标,列表和报告方式。这些方法和在资源治理器种选择View-Large Icons,Small Icons , List 和 Details 相对应。各种不同的显示方式只是显示了不同的外观而已。譬如,您可能有很多的数据,只是并不想全部显示。报告方式供应的消息最完全,其它的方式则要少得多。在刚创立一个列表视图时您可以选择一种初始显示方法,随后您可以调用SetWinodwLong函数并设置GWL_STYLE标志位来转变显示方式既然我们已经知道了如何创立列表控件,接下来我们学习如何使用它们。我们将主要集中在报告方式的显示上,由于

3、该种方式演示了最多的列表掌握的特性。使用列表掌握的步骤如下:调用CreateWindowEx函数来创立一个列表控件,指定它的类名为SysListView32。您还可以在此处指定控件初次显示时的方式。创立和初始化用在列表控件中显示工程的图象列表(假如存在)。向列表控件中插入列,假如显示的方式是报告方式这一步是必需的。向控件中插入工程和自工程。列:在报告方式中,有不止一个列。您可以把放入到列表控件中的数据看作是一张表单:这时数据是按行列排列的。在控件中至少有一列。在其它的显示方式中则无所谓,由于这些显示方式有仅有一列。参加列要通过向列表控件发送LVM_INSERTCOLUMN消息来实现。LVM_I

4、NSERTCOLUMNwParam = iCollParam =指向LV_COLUMN型构造体变量的指针iCol 列数,从0开头编号。LV_COLUMN 包含了将插入的列的信息。它的定义如下:LV_COLUMN STRUCTimask dd ?fmt dd ?lx dd ?pszText dd ?cchTextMax dd ?iSubItem dd ?iImage dd ?iOrder dd ?LV_COLUMN ENDSField name Meaningsimask 一组标志位,它指示了该构造体中的那些成员变量是有效的。该构造体中的成员变量并不是同时有效的。在某些时候,可能只有某些成员变量

5、是有效的。构造体可以用来输入和输出。这样让WINDOWS知道那些成员变量是有效的是特别重要的。可能的标志有:LVCF_FMT = fmt有效_SUBITEM = iSubItem有效LVCF_TEXT = pszText有效.LVCF_WIDTH = lx有效您可以一次使用几个标志。譬如,假如您向指定列的文本标签(列名),您必需在pszText成员变量中供应列名,然后指定标志LVCF_TEXT告知WINDOWS成员变量pszText中的值是有效的,否则WINDOWS将忽视掉pszText中的值。 fmt 指定了工程/子工程的对齐方式。可能的值有: LVCFMT_CENTER = 文本居中LVC

6、FMT_LEFT = 文本左对齐LVCFMT_RIGHT = 文本右对齐 lx lx 是列的宽度(以像素点为单位)。以后您可以发送消息LVM_SETCOLUMNWIDTH来转变列的宽度。 pszText 假如用来设定列的属性时,该成员变量为指向列名的指针。假如是查询列名,该成员变量指向一个足够大的缓冲区,用来接收返回的列名,这是您必需在成员cchTextMax中指定缓冲区的大小。假如是设定列名时,可以忽视该变量,由于该指针指向的是一个ASCII码的字符串,而WINDOWS可以解析出ASCII串的长度。cchTextMax cchTextMax 以字节计的上面一个成员变量指向的缓冲区的小。该成员

7、变量只在您查询列的属性时使用。假如是设定列的属性,那该变量将被忽视。iSubItem 指定和该列相连的子工程的索引号。该成员变量的值用来标识和列相连系的子工程。该列的使用地说明白如何把列号和子工程相连。要查询列的属性时可以发送LVM_GETCOLUMN消息,并在成员变量imask中指定LVCF_SUBITEM标志,列表控件将在iSubItem中返回插入时设定的iSubItem值。为了使用该方法,您需要在该成员变量中放入正确的值。iImage and iOrder 为了和IE3.0以上版本兼容。目前我没有这方面的资料。在列表视图控件创立后,您必需至少向其中插入一列。固然假如不准备使用报告方式显示

8、,那倒是没有必要插入列。为了插入列,您需要定义一个LV_COLUMN型的构造体变量,给其成员变量赋上正确的值,指定列号,然后向列表视图控件发送LVM_INSERTCOLUMN消息并把该构造体变量的值传过去。LOCAL lvc:LV_COLUMNmov lvc.imask,LVCF_TEXT+LVCF_WIDTHmov lvc.pszText,offset Heading1mov lvc.lx,150invoke SendMessage,hList, LVM_INSERTCOLUMN,0,addr lvc上面的代码段显示了该过程。当发送LVM_INSERTCOLUMN消息时,他指定了列的标题条文

9、本和它的宽度。工程和子工程工程是列表视图中主要的内容。除报告方式显示的外,在列表视图您只能看到工程。子工程是工程的具体信息。一个工程可能有不止一个相关的子工程。举个例子,譬如工程是文件名,那其相关的子工程可能有文件属性、大小、创立日期等。在报告方式的视图中,最左边一列是工程,其它列是子工程。从数据库记录的角度看,工程类似主键,子工程类似记录。至少您的列表视图需要一些工程:子工程是可选的。假如您想要给用户供应更多的信息,可以把子工程和工程相连,然后放到列表视图中以报告的方式显示。您可以通过向列表视图发送LVM_INSERTITEM消息来向其中添加工程,这时还需要把一个指向LV_ITEM型的构造体的变量的指针放到lParam一同传给列表视图。LV_ITEM的定义如下:LV_ITEM STRUCTimask dd ?iItem dd ?iSubItem dd ?state dd ?stateMask dd ?pszText dd ?cchTextMax dd ?iImage dd ?lParam dd ?iIndent dd ?LV_ITEM ENDSField name Meanings

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号