正文内容
VB6控件LISTVIEW使用指南
来源:漫步者
作者:开心麻花
2025-09-19
1

VB6控件LISTVIEW使用指南(精选5篇)

VB6控件LISTVIEW使用指南 第1篇

功----VB6无疑是当前最先进的编程工具之一,无论是它的代码编写还是与视窗98的完美结合, 都令人们特别是程序员们赞叹不已。在这里,我将自己在编程实践中对LISTVIEW控件的一些使用经验和心得体会与广大的同仁们作以探讨,希望大家批评指正,或者有所借鉴。

----在VB6专业版或者企业版中,LISTVIEW控件并不是默认的工具箱的配置项目,你必须要手工添加---单击“工程”菜单项目,选择“部件”,在部件对话框的“控件”栏目中选择“MICROSOFT WINDOWS COMMON CONTROLS 6.0”,确认在它前面的复选框中有一个黑色的对号,单击“确认” 按钮,这时你的工具箱中便添加了几个控件,其中,有五个空心圆圈的便是LISTVIEW控件了, 当然怎么把它添加到窗体上就不用我多说了吧。

----我个人认为,作为一个增强功能的列表框,它的本质是用来显示更多的信息的.因此, 在这篇文章中,我着重介绍它VIEW属性的LVWREPORT(报表)值的使用.至于它的外观怎样设计,诸位当然可以随心所欲了.为了直观一点,我举一个应用实例来说明。

----设计完成后的主界面参见图一,它实际上是一个增强功能的文件浏览器。

----首先新建一个标准EXE工程,主窗体名称为FRMMAIN,添加一个驱动器列表框DRIVE1,一个文件列表框FILE1(设置VISIBLE属性FALES,PATTERN属性(*.EXE;*.DLL)),一个目录列表框DIR1,一个增强列表框LISTVIEW1,一个IMAGE控件IMAGE1和一个IMAGELIST控件IMALIST1,在IMALIST1控件上单击右键,设计IMAGELIST控件,添加一个你最喜欢的图标(最好使用ICON图标),索引为一。在主窗体FRMMAIN的通用声明段输入以下代码: Dim clmX As ColumnHeader;标题栏 Dim itmX As ListItem;列表项目 Dim Counter As Long;计数器 Dim Fname As String;读取文件名

Dim dname As String;增强列表框完整路径名称 Public CurrentDir As String;完整的目录名称 在主窗体的LOAD事件中写入以下代码: Private Sub Form_Load()Me.Caption = App.Title;窗体的标题为生成可执行文件的标题 Me.Left =(Screen.WidthMe.Height)/ 2; 窗体位置在屏幕中间

ListView1.ColumnHeaders.Add , , “文件名称”,ListView1.Width / 3, 0 ’第一个标题栏是“文件名称“,长度为ListView1 宽度的三分之一,文字左对齐

Set clmX = ListView1.ColumnHeaders.Add(, , “序号”, ListView1.Width / 5, 2)’第二个标题栏是“序号“ 依次往下

Set clmX = ListView1.ColumnHeaders.Add(, , “文件大小 ”, ListView1.Width / 4, 1)Set clmX = ListView1.ColumnHeaders.Add(, , “创建时间”, ListView1.Width / 3, 0)ListView1.BorderStyle = ccFixedSingle;边界类型 ListView1.SmallIcons = ImageList1 ;

关联图标仓库ImageList1 For Counter = 0 To File1.ListCount1 Fname = File1.List(Counter)Set itmX = ListView1.ListItems.Add(, , Fname);添加文件名

itmX.SubItems(1)= CStr(Counter + 1)+ “/” + CStr(File1.ListCount)itmX.SubItems(2)= CStr(FileLen(CurrentDir & Fname))itmX.SmallIcon = 1 itmX.SubItems(3)= Format(FileDateTime(CurrentDir & Fname), “HH:MM YYYY/MMMM/DD”)Next Counter;添加增强列表框的各个项目

Dir1.ToolTipText = “当前目录是:” & Dir1.Path;提示 End Sub----通过以下代码取得鼠标单击增强列表框返回的项目名称: Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)allfname = Item;文件名

dname= CurrentDir& Item;完整的路径和文件名

sElectmain = ListView1.SelectedItem.Index;文件序号 End Su

VB6控件LISTVIEW使用指南 第2篇

关键词:ASP.NET环境,List View控件,高效实用使用方法

1 引言

在ASP.NET环境中, List View数据绑定控件提供了数据插入、 编辑、 删除、 分页、 排序等多项功能来方便编程人员使用[1]。 但是一般而言, 人们希望首先从数据库中查询数据, 然后再将得到的查询结果交给List View控件显示出来[2]。 实际工作中, 数据库中的数据量相当大, 如果不经查询直接由List View控件显示则效率大为降低。 List View控件虽然提供了分页功能, 但是它是将所有数据加载到内存, 然后再分页显示的, 因此其分页效率不高。 实际上应当是每页需要显示多少条数据记录就筛选并加载多少, 也就是需要按分页大小来筛选并加载数据。 另外, List View控件虽然内置了数据插入、编辑等功能, 但是它没有提供数据校验手段, 只要是数据格式正确则不管数据是否符合真实情况。 介绍解决这些问题的方法, 使得List View控件的使用更加高效、 实用。

2 准备阶段

介绍的方法应用环境是Visual Studio 2010, 使用的语言是C#, 数据库是Microsoft SQLServer2008。

2.1 数据库表

用到了Hotel数据库中的Room Info数据库表, 其结构如表1 所示。

注: 为了直观, 列名直接使用了中文名, 实际应用中一般使用英文名称。

2.2 存储过程

使用存储过程要比直接使用SQL查询命令效率提高很多, 文中用到了存储过程Get Data By HS (按房间类型查询) 、Get Paged Data ( 高效分页查询) 、 Query Count ( 查询所有记录数) 等。

存储过程Get Data By HS代码如下:

存储过程Get Paged Data代码如下:

存储过程Query Count代码如下:

2.3 数据集

在Visual Studio 2010 的App_Code文件夹中创建数据集文件Data Set Room Info.xsd, 其内容视图如图1 所示。

图1 中的Get Data () 查询方法是在数据集文件中拖入Room Info数据库表时系统自动创建的, 文中不使用它。 其他的3 个查询方法是文中创建的, 其方法名称与上述提到的3 个存储过程名称相同 (实际上这些查询方法名也可以与存储过程名称不相同) 。 在这些查询方法中分别调用了各自同名的存储过程, 例如方法Get Paged Data配置步骤中的关键配置如图2 所示, 其他配置步骤比较简单, 在此不再详述。

3 高效分页方法和一般查询方法及切换

3.1 高效分页

首先, 在Visual Studio 2010 中拖入List View数据绑定控件和Object Data Source数据源控件。 List View控件需要关联Object Data Source控件, Object Data Source控件需要关联数据集文件Data Set Room Info.xsd, 程序设计界面如图3 所示。

为了实现高效分页就要使用数据集文件Data Set Room Info.xsd中的高效分页方法Get Paged Data和Query Count。 ObjectData Source控件中有Select Parameters属性, 其配置代码为:

程序刚开始运行时, 查询文件框Text Box1中无输入值, 所以先要将Select Parameters属性清空, 同时设置Object Data-Source控件中的高效分页方法, 这样就实现了高效分页, 其关键代码如下:

以上代码中的Get Paged Data方法和Query Count方法就是实现高效分页时所需要的方法, 如果数据库表发生变化, 则需要根据上面介绍的存储过程稍加修改即可。

3.2一般查询

如果在查询文本框Text Box1中输入了非空查询关键字, 则要重新配置Object Data Source控件。因为此时根据查询关键字得到的查询结果数据记录数较少, 所以只要调用一般查询方法Get Data By HS即可, 同时要动态添加Object Data Source控件的Select Parameters属性, 其关键代码如下:

以上代码中的Get Data By HS方法就是实现高效分页时所需要的方法, 如果数据库表发生变化, 则需要根据上面介绍的存储过程稍加修改即可。

程序运行时输入查询关键字“标准”后的运行结果如图4所示。

3.3高效分页方法和一般查询方法的切换

两种方法切换时需要设置Object Data Source控件的Selecting事件, 其代码为:

4数据校验方法

List View控件提供了数据插入、编辑、删除等功能, 但是不能做数据校验。如果要进行数据校验就需要在List View控件的相应事件中通过代码来处理。例如, 插入房间信息数据时假设要求房号不能为空、房态要为空、床位数不超过3, 则需要在Item Inserting事件中添加如下数据校验代码;

当然, 同时要在编辑房间信息数据时在事件Item Updating中也添加与上述代码同样的代码, 以方便在数据插入和编辑时完成一致的数据校验工作。如果数据库表发生变化, 则需要根据以上数据校验代码稍加修改即可。

5结语

ASP.NET环境中List View数据绑定控件内置了插入、编辑、删除、分页、排序等多项功能, 用起来非常方便。但是List View控件提供的分页在实际应用过程中一般并不实用, 因为现实中的数据量往往很大, 需要重新编写经过优化后的分页方法。同时, List View控件并未提供查询功能, 需要将查询界面中的控件如文本框 (可在其中输入查询关键字等需要查询的信息) 的值传递到Object Data Source数据源控件的相关查询方法中, 才能实现查询功能。另外, List View控件也并未提供数据校验功能, 实际使用中往往要给List View控件的Item Inserting、Item Updating事件编写有关数据校验的代码来实现数据校验功能。在此所使用的数据库和表虽然简单, 但是只是为了说明文中的方法。实际使用中可根据文中提供的优化方法来迁移, 这样实现的软件系统会高效实用很多。

参考文献

[1]李杰.ASP.NET3.5中List View控件的几种用法[J].中国教育网络, 2010, (1) :76-77.

VB6控件LISTVIEW使用指南 第3篇

一、用VB6.0进行串行通信程序的设计方法简介

用visual basic6.0进行串行通信程序的设计有两种方式: (1) 直接调用Windows API。 (2) 使用通信组件。该方式实际上是通过通信组件间接调用Windows API函数, 其过程要比直接调用API要复杂, 但在程序上容易实现。使用MSComm控件时, 实际上就是使用了API函数, API函数将被Comm.drv解释并传送给外围设备驱动程序, 使用MSComm的用户只需要关心如何使用MSComm所提供的属性或事件, 以驱动API函数的接口完成工作。

二、串行通信程序的执行过程

MSComm控件通过串行端口传输和接收数据, 为应用程序提供串行通

信功能。该控件提供了两种处理通信的方式:

1、事件驱动通信。

事件驱动通信是处理串行端口交互作用的一种非常有效的方式。在使用事件驱动通信时, 每当有一个字符到达或端口状态发生改变, 或发生错误时, MSComm控件将触发On Comm事件进行捕获, 通过检查MSComm控件的Comm Event属性获知所发生的事件或错误, 从而采取相应的操作处理这些通信事件。这种方法的优点是程序响应及时, 可靠性高。

2、查询法。

该方法可以在程序的每个关键功能之后, 通过检查Comm Event属性的值来查询事件和错误。每个使用的MSComm控件对应着一个串行端口。如果应用程序需要访问多个串行端口, 必须使用多个MSComm控件。

查询法适合于较小的应用程序, 在这种情况下, 每当应用程序执行完某一串行口操作后, 将不断检查MSComm控件的Comm Event属性, 以检查执行结果或检查某一事件是否发生。

而进行串行通信时一般有两种传输方式:

(1) 字符形式:通常以小于ASCII码128的字符码来传递, 通常用于传送指令。

(2) 二进制形式:将数据以二进制编码的方式传递, 它可能含有ASCII码128以上的字符码。通常用来传送数据, 以提高速度。

三、串行通信实例

下面以一个实例来演示MSComm控件的主要属性。根据程序需要, 进行以下操作步骤:

1、新建工程。启动VB后, 新建一个标准的EXE工程。

2、设计用户界面。

(1) 在“工具”菜单中选中“部件”, 在“控件”选项卡中选择“Microsoft Comm Controls6.0”。然后从工具箱中将MSComm添加到窗体Form1中。 (2) 给窗体Form1添加1个计时器控件, 3个命令按钮控件, 并设置控件的相关属性。 (表1)

VB6控件LISTVIEW使用指南 第4篇

单线(1-Wire)器件可以组成微型局域网(MicroLAN),它是一种主从式网络,以个人计算机或单片机为网络中的主设备,主设备可通过一对双绞线与从设备相连组网,从设备无需自备电源。单线(1-Wire)器件组网如图1。

主设备实时与网络上从设备进行通信,传输控制命令和读取数据,单线(1-Wire)器件通信有严格的时序要求,时间脉冲精度最小要求为1us。单片机实现与从设备通信可通过选用合适的晶振,单片机选用12MHz晶振执行一条单字节指令时间是1us,通过循环语句即可实现精确延时;个人计算机与单线(1-Wire)器件通信可分为两个阶段,486之前DOS环境及奔腾机Windows环境阶段,DOS环境时,可通过个人计算机的打印口(LPT)与单线(1-Wire)器件实现严格的读写时序,可实现数据传输。Windows操作系统(包括Windows9Χ,Windows NT及Windows 2000)是抢先方式的多任务系统,运行程序经常被系统或其他程序打断。计算机的打印口(LPT)的信号是杂乱无章的,完全不符合器件要求的严格时序,这在示波器上可看得很清楚。另外由于利用VC、VB编写时序程序时,利用循环语句延时由于CPU速度及总线速度不同,不同的个人计算机由于速度不同,编写的程序不具有通用性,因而是不可取的。运行在Windows平台上,利用VB6.0串口通信控件(MSComm),通过选择不同的通信波特率可实现精确的通信时序。

1 单线(1-Wire)器件的传输过程

单线(1-Wire)器件传输过程是单线应用技术的关键,每个单线芯片拥有唯一地址,主机一旦选中某个芯片,就会保持通信连接直到复位,其他的器件则全部脱离总线,在下次复位之前不参与任何通信。

单线(1-Wire)器件的操作步骤如下:

(1)初始化。

(2)发出ROM指令。

(3)发出内存指令。

(4)数据传输或温度转换。

1.1 传输协议

单线系统要求严格的协议来保证数据传输的准确性,该协议包括总线上的多种信号,例如复位脉冲、在线脉冲、写1、写0、读1、读0等。除在线脉冲外,其他所有的信号都来源于主设备。

1.2 初始化过程

初始化过程是总线上的全部传输操作的起源,初始化包括主设备发送一个复位脉冲和从设备返回一个应答脉冲,初始化过程如图2。

1.3 读/写过程

在单线总线上传输数据信号类似于脉宽调制波形,逻辑0用较长的低电平持续期表示,逻辑1用较长的高电平持续期表示。单线总线上传输数据还引入读/写时隙(Read/Write Time Slots)的概念,主机向总线上输出数据时产生写时隙,从总线上输入数据时形成读时隙,无论是读时隙还是写时隙,它们都是以主设备驱动数据线为开始的,数据线下降沿使从设备触发其内部的延迟电路,使之与主设备同步。在写时隙内该延迟电路决定了从设备采样数据线的时间窗口。对于读时隙,如果传送的数据位是0,延迟电路决定了从设备保持数据线为低电平状态的时间;如果传送的数据位是1,延迟电路释放总线,主设备一侧的上拉电阻就会立即将数据线拉至高电平。无论是逻辑1还是逻辑0,所有的读/写时隙都必须至少占60us,在两个相邻的读/写周期间至少应有1us的恢复时间。读/写时序如图3。

2 串口通信控件与单线器件通信

在不使用外加设备和器件的基础上,Windows环境下实现严格时序最简单、最可靠的办法就是使用串行口。使用串行口的驱动电路如图4,此图中电路实现RS-232和单线(1-Wire)器件所使用的TTL电平之间的转换。

2.1 MSComm控件

MSComm控件是VB6.0编程语言中用于单机及网络通信的控件,它包含在VB的所有版本中,是编写控制软件的重要控件。MSComm控件的Settings属性能够设置控件通信的波特率,其波特率值在所有计算机通信中是相同的,是由专用的晶体产生的。属性以字符串形式设置或传回连接速度、奇偶校验、数据位、停止位等4个参数,其格式为“BBBB,P,D,S”,其中BBBB为连接速度,P为奇偶校验方式,D为数据位数,默认值为“9600,N,8,1”。

2.2 控件使用方法

首先根据单线(1-Wire)器件的时序要求,由MSComm控件的Settings属性设置波特率值来确定1bit数据的传输时间值,再通过设置MSComm控件输出码,来满足时序要求,Settings属性设置格式为:

MSComm1.Settings=“115200,N,8,1”

波特率值115200时,其1bit传输时间为8.7us,9位总计时间为78us。这样60-120us的低电平读/写脉冲就可通过输出适当的8位数据来达到要求,如:

输出60 us低电平脉冲需要输出数据的二进制码为:10000000B。

MSComm控件传输格式为:

MSComm1.Output=chr(128)

执行这一函数,即可从计算机串口输出60us的0电平脉冲。

MSComm1.Output=chr(255)

执行这一函数,即可从计算机串口输出60us的1电平脉冲。

同理,需要输出其他不同宽度的脉冲可通过设置MSComm控件Settings属性及修改不同的输出指令码来实现。

PC机与单线(1-Wire)器件进行通信时,首先将要传输的8位数据拆分为8个独立的二进制数,然后进行8次传输。

2.3 核心代码

3 结语

利用VB中的串行MSComm控件可以在Windows环境中实现精确的时序,编写的程序可以移植到任何个人机上,为单线(1-Wire)器件的数据传输及组网提供了有效的开发方法。

摘要:简要介绍了单线(1-Wire)器件的性能、结构及其数据传输过程,并详细介绍了在VB6.0中利用串行MSComm控件实现器件的精确时序和编写通用性强的应用软件的方法。

关键词:单线(1-Wire)器件,MSComm控件,VB6.0

参考文献

[1]谢瑞和.串行技术大全.清华大学出版社.

[2]范逸之,陈立元.利用VB实现串并行通信技术.清华大学出版社.

VB6控件LISTVIEW使用指南 第5篇

关键词:OLE控件,超链接,文档,VB6.0,VS2005

由于网络的普及,许多单机版应用程序必将升级到网络版。对于一个VB6.0程序员来说,不得不将原来使用VB6.0开发的应用程序改造成为ASP.NET应用程序。由于对VB6.0比较熟悉,使用的语言必然是VS2005环境中的VB.NET语言。在VB6.0应用程序中,尤其是在数据库应用程序中,必然使用过OLE控件。比如,经常将PDF文件链接或嵌入到Access数据库中,在VB6.0的应用程序中,可以轻松通过OLE控件选择和打开PDF文件,但是在VS2005中并没用对应的OLE控件。对于一个VS2005的初学者来说,一时找不到合适的解决方案,网上也经常看见有人提出同样的问题。就此问题,经多方探讨,终于找到了一个解决的办法,实现起来比在VB6.0中容易的多,下面介绍VS2005中的两个控件,能实现VB6.0de OLE控件相同的功能。

VB6.0的OLE控件的主要作用是选择和打开链接或嵌入到数据库中的文档,因此只有具有显示为链接功能的控件才具有OLE控件相似的功能,在VS2005中,只要能将数据显示为链接的控件,即可实现此功能。

BulletedList控件可以将列表项显示为超链接列表,利用这一属性,可以实现本文的目标。这里主要涉及到该控件的3个属性:DataSource属性、DataTextField属性和DisplayMode属性;DataSource属性可以用来设定数据绑定所要使用的数据源。DataTextField属性用于设定数据绑定所要显示的字段;DisplayMode属性用于设置列表项的显示方式,当将DisplayMode属性设置为HyperLink值时,可以将数据显示为超链接,单击超链接数据项,即可实现打开诸如PDF文档的功能。

为演示其功能,按下述步骤操作:

首先,用Access数据库管理程序建立一个数据库,取名为“文件库”。建立一个表格,命名为“文件表”。在其表格中设置3个字段:序号、主题、文件名,并输入信息如表1所示。其中“文件名”字段,就是想要链接的字段,在该列中,输入的文件名要包括后缀,如:文件1.PDF、文件2PDF等。将文件1、文件2的PDF文档放在当前页面所在的目录下。

接下来要配置数据源。在页面中添加一个AccessDataSource控件,控件的ID属性设置为AccessDataSource1,配置数据源,以建立同“文件库”的连接。

在页面中添加一个BulletedList控件,选择数据源为AccessDataSource1。在BulletedList控件的DataTextField属性中设定所要显示的字段,即“文件名”字段,DisplayMode属性设置为HyperLink。运行应用程序即可实现PDF文档的链接显示。

但是,BulletedList控件是一个项目列表控件,只能显示一列数据,应用范围有限。

DataGrid控件以表格的形式显示数据,当将数据显示为超链接时,即可在页面中实现文档的链接功能。VS2005的工具箱中没有DataGrid控件,需要添加。添加的方法是在页面源程序中输入如下代码:

这样在页面中就出现一个DataGrid控件。

首先,选择数据源控件,文中将数据源设定为Access-DataSource1。

设定好数据源之后,选择DataGrid控件,在属性窗口中找到Columns属性,单击“Columns”属性选项列的(Collection)后的链接按钮,显示DataGrid列设置属性对话框。

保持光标在“列”选项卡,在“可用列”列表框中选择“绑定列”,将“绑定列”添加到“选定的列”列表框中,并设置“绑定列”的属性。在页眉文件中输入“序号”,在“数据字段”中填入“序号”。

再次在“可用列”列表框中选择“绑定列”,将“绑定列”添加到“选定的列”列表框中,并设置“绑定列”的属性。在页眉文件中输入“主题”,在“数据字段”中填入“主题”。

在“可用列”列表框中选择“超链接列”,将“超链接列”添加到“选定的列”列表框中,并设置“超链接列”的属性。在“页眉文本”输入列“文件名”,在“文本字段”中输入“文件名”,在“URL字段”中输入“文件名”字段。如图1所示。

取消“在运行时自动创建列”。

这样DataGrid将不同的字段以不同的形式显示,单击显示为链接的字段将打开所链接的文档。

上述两个控件都可以实现类似于VB6.0中OLE控件的功能,BulletedList功能单一,但容易设置,DataGrid可以按表格形式显示数据,可以显示相关的字段,实现起来较BulletedList稍复杂些。上述两个控件都不需要编写任何后台代码即可实现。

相关文章
2025年全国注册监理工程师延续注册-系统考试试题

2025年全国注册监理工程师延续注册-系统考试试题

2025年全国注册监理工程师延续注册-系统考试试题(精选6篇)2025年全国注册监理工程师延续注册-系统考试试题 第1篇2015年全国注册监理工程...

3
2025-09-19
秋九年级思想品德备课组工作计划

秋九年级思想品德备课组工作计划

秋九年级思想品德备课组工作计划(精选12篇)秋九年级思想品德备课组工作计划 第1篇九年级思想品德备课组工作计划一、指导思想:高举有中...

1
2025-09-19
2024年实验高中安全知识竞赛策划书

2024年实验高中安全知识竞赛策划书

2024年实验高中安全知识竞赛策划书(精选11篇)2024年实验高中安全知识竞赛策划书 第1篇2014年大方县“安全生产月”系列活动之安全知识竞...

2
2025-09-19
2010年预防传染病工作总结

2010年预防传染病工作总结

2010年预防传染病工作总结(精选15篇)2010年预防传染病工作总结 第1篇2010年丰都中心小学疾病和传染性疾病防控工 作 总 结传染病防治...

1
2025-09-19
退伍兵简历自我评价

退伍兵简历自我评价

退伍兵简历自我评价(精选5篇)退伍兵简历自我评价 第1篇2016退伍兵简历自我评价退伍兵简历自我评价【退伍军人简历自我评价(一)】入伍十八...

1
2025-09-19
2020年医院各部门科室岗位职责

2020年医院各部门科室岗位职责

2020年医院各部门科室岗位职责(精选4篇)2020年医院各部门科室岗位职责 第1篇医院各部门科室岗位职责2020年总结(一)保安队长职责一、实行...

2
2025-09-19
2020给老人的新春祝福语

2020给老人的新春祝福语

2020给老人的新春祝福语(精选10篇)2020给老人的新春祝福语 第1篇2020给老人的新春祝福语11、怀揣崭新希望,穿过泥泞沟坎,义无反顾奔向...

1
2025-09-19
2022--2023 第二学期明德小学少先队计划

2022--2023 第二学期明德小学少先队计划

2022--2023 第二学期明德小学少先队计划(精选12篇)2022--2023 第二学期明德小学少先队计划 第1篇2022-2023学第二学期小学教师个人课...

1
2025-09-19
付费阅读
确认删除?
回到顶部