VB ListView的使用

合集下载

VB中ListView的用法

VB中ListView的用法

VB中ListView的用法listview控件可有4种不同的视图显示方法,跟“资源管理器”里的“查看”方式相似:(1)无图标;(2)小图标;(3)列表;(4)报表式。

使用哪种视图,可由该控件的view属性设置控制。

其中“报表”视图用来显示记录数据很适合。

listview控件包括listItem对象与ColumnHeader对象。

本人简单理解为:listItem对象看成数据行;ColumnHeader 对象看成列标题。

listItem对象(行)有两部分:一部分是图标与简要描述的文本(第1列);另一部分是前者的子项文本信息(第2列,第3列......)。

而listItems即是对listItem对象集合(所有行)的引用。

故此,listItems(1) 可以表示为第1行;listitems(1).text 返回第1行第1列的文本值;listitems(1).subItem(1) 返回第1行第2列的文本值。

【控件常用属性】[1]view属性该属性有4个值可设定:1---小图标视图显示2---列表3---报表0---无图标(默认)[2]AllowColumnReorder属性值设置.t.时,用户可以用鼠标选中1列拖至其他地方进行重新排列。

[3]Checkboxes属性设置为.t.时,每一行数据前将显示一复选框。

[4]FlatScrollBar属性设置为.f.时控件将显示滚动条。

[5]FullRowSelect属性设置为.t.时可以整行地选择数据。

[6]GridLines属性设置为.t.时控件将显示网格线。

(只作用于“报表”视图)[7]HideColumnHeaders属性设置为.f.时,列标题可视,反之则不可视。

[8]HotTracking属性设置为.t.时,鼠标所在行将以高亮度显示。

[9]Icons,SmallIcons属性两者设置listview控件视图相关联的ImageList控件中的图片。

Icons指明视图为大图标时的关联;SmallIcons指明视图为小图标时的关联。

vbalistview复选框优先

vbalistview复选框优先

vbalistview复选框优先摘要:1.VBListView 控件概述2.VBListView 的复选框功能3.如何设置VBListView 的复选框优先级4.实际应用示例正文:一、VBListView 控件概述VBListView 是一款功能强大的列表视图控件,广泛应用于各种桌面应用程序和移动应用程序中。

它提供了丰富的属性和事件,以满足不同场景下的需求。

VBListView 控件可以显示一个列表,用户可以通过单击、拖动或键盘导航来选择列表中的项。

二、VBListView 的复选框功能VBListView 控件支持复选框功能,用户可以通过勾选或取消勾选列表中的项来选择多个项目。

复选框功能为列表视图控件提供了更多的交互方式,提高了用户体验。

三、如何设置VBListView 的复选框优先级在VBListView 中,可以通过设置控件的属性来调整复选框的优先级。

具体操作如下:1.打开VBListView 控件的属性编辑器。

2.在属性编辑器中,找到“Options”属性,并单击它。

3.在“Options”属性的列表中,找到“EnableMultiselection”属性,并勾选或取消勾选它。

勾选该属性后,VBListView 控件将启用复选框功能;取消勾选后,将禁用复选框功能。

4.如果需要调整复选框的样式,可以找到“CheckBoxStyle”属性,并设置相应的值。

例如,可以将复选框设置为始终可见(“always”)、仅在鼠标悬停时显示(“whenMouseOver”)或仅在选中时显示(“whenSelected”)。

四、实际应用示例假设我们需要为一个员工名单列表添加复选框功能,以便用户可以选择多个员工进行处理。

vba listview 对齐方式

vba listview 对齐方式

vba listview 对齐方式VBA Listview对齐方式在基于Microsoft Office的开发中,Visual Basic for Applications (VBA) 是一种非常强大而又广泛使用的编程语言。

Listview是VBA中一个常用的控件,用于显示和管理数据列表。

它允许用户以可视化的方式浏览、选择和编辑数据。

对齐方式是控制Listview中数据显示格式的一种重要设置。

通过设置对齐方式,我们可以控制文本和图像在Listview中的水平和垂直位置。

本文将详细介绍VBA Listview的对齐方式,并提供一些示例代码帮助读者更好地理解和应用。

1. 基本的对齐设置在Listview控件中,我们可以对每个列表项中的子项应用不同的对齐方式,包括左对齐、右对齐和居中对齐。

以下是一些示例代码,可以帮助您理解和实现基本的对齐设置:vba' 设置第一个列表项的第一个子项(列)左对齐ListView1.ListItems(1).ListSubItems(1).TextAlign = lvwAlignLeft' 设置第二个列表项的第一个子项(列)右对齐ListView1.ListItems(2).ListSubItems(1).TextAlign = lvwAlignRight' 设置第三个列表项的第一个子项(列)居中对齐ListView1.ListItems(3).ListSubItems(1).TextAlign = lvwAlignCenter在上面的示例代码中,ListView1是Listview控件的名称,1、2、3分别代表需要设置对齐方式的三个不同的列表项。

lvwAlignLeft、lvwAlignRight和lvwAlignCenter是控制对齐方式的常量,分别表示左对齐、右对齐和居中对齐。

2. 全局对齐设置除了对每个列表项中的子项逐个设置对齐方式外,Listview控件还提供了一种全局的对齐设置。

vba 引用listview

vba 引用listview

vba 引用listview在VBA(Visual Basic for Applications)中,引用ListView 控件的方法如下:1. 首先,确定ListView 控件的序号。

在Excel 或Access 等应用程序中,可以使用`Controls` 对象来获取ListView 控件的引用。

例如,如果ListView 控件位于工作表的A1 单元格,那么它的引用序号就是1。

2. 使用`Controls` 对象的`Add` 方法创建一个新的ListView 控件。

例如:```vbaSub CreateListView()Dim ws As WorksheetSet ws = ThisWorkbook.Worksheets(1)Dim lv As ListViewSet lv = ws.Controls.Add(Type:=23, Left:=100, Top:=100, Width:=200, Height:=100)End Sub```3. 使用`ListView` 对象的属性和方法来操作控件。

以下是一些常用的属性和方法:-`ListView.Items`:包含ListView 中的所有项目。

可以使用索引访问和修改项目。

- `ListView.Item(index)`:根据索引获取项目。

索引从0 开始。

- `ListView.AddItem`:向ListView 添加新项目。

- `ListView.DeleteItem`:删除ListView 中的指定项目。

- `ListView.ClearAll`:清空ListView 中的所有项目。

-`ListView.ColumnHeaders`:包含ListView 列标题的集合。

可以使用索引修改列标题。

以下是一个完整的示例,演示如何在VBA 中创建一个ListView 控件,并向其中添加项目:```vbaSub CreateListViewAndAddItems()Dim ws As WorksheetSet ws = ThisWorkbook.Worksheets(1)Dim lv As ListViewSet lv = ws.Controls.Add(Type:=23, Left:=100, Top:=100, Width:=200, Height:=100)Dim item As Variantitem = Array("Item 1", "Item 2", "Item 3")Dim i As LongFor i = 0 To UBound(item) - 1lv.Items.Add item(i), , iNext iEnd Sub```此代码将在工作表1 中创建一个ListView 控件,并向其中添加三个项目。

VB6控件LISTVIEW使用指南

VB6控件LISTVIEW使用指南

功---- 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.Width - Me.Width) / 2Me.Top = (Screen.Height - Me.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 ;关联图标仓库ImageList1For Counter = 0 To File1.ListCount - 1 Fname = File1.List(Counter);获取当前目录下符合条件的文件名Set itmX = ListView1.ListItems.Add(,, Fname)’文件名称栏目itmX.SubItems(1) = CStr(Counter + 1) +"/" + CStr(File1.ListCount)’文件在列表框位置itmX.SubItems(2) = CStr(FileLen(Fname));文件长度itmX.SmallIcon = 1;列表项目图标itmX.SubItems(3) = Format(FileDateTime(Fname),"hh:mm yyyy/MMMM/dd");文件创建时间Next CounterListView1.View = lvwReport;报表类型ListView1.Arrange = 0belWrap = FalseDir1.ToolTipText = "当前目录是:" & Dir1.PathEND SUB双击驱动器列表框,输入以下代码:Private Static Sub Drive1_Change()On Error GoTo IFerr;拦截错误Dir1.Path = Drive1.Drive;关联目录列表框Exit SubIFerr:;如果磁盘错误MsgBox ("请确认驱动器是否准备好或者磁盘已经不可用!"),vbOKOnly + vbExclamation;弹出注意对话框Drive1.Drive=Dir1.Path;忽略驱动器改变End Sub双击目录列表框,输入以下代码:Private Static Sub Dir1_Change()File1.Path = Dir1.Path;关联文件列表框If Right(Dir1.Path, 1) < > "\" ThenCurrentDir = Dir1.Path & "\"ElseCurrentDir = Dir1.PathEnd If;设置选定的目录名称ListView1.ListItems.Clear;清除过期的列表项目For Counter = 0 To File1.ListCount - 1Fname = 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 = 1itmX.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 AsMSComctlLib.ListItem)allfname = Item;文件名dname= CurrentDir& Item;完整的路径和文件名sElectmain = ListView1.SelectedItem.Index;文件序号End Su。

VBA实战系列(ListView控件)

VBA实战系列(ListView控件)

VBA实战系列(ListView控件)VBA项目实战__ListView控件应用ListView控件是一款非常优秀的表格控件,被广泛应用于VBA项目。

VBA使用者熟练地掌握此控件的用法,不仅能大大地增加自己学习VBA的兴趣,而且对实际工作也有很好的帮助。

一、Excel基础数据二、实现效果我们要通过VBA控件list view,实现如下图示效果三、实现过程(一)添加listview控件1.打开VBE编辑器,新建窗体flist2.添加listview控件。

在工具箱中选择listview控件放入窗体。

如工具箱中没有该控件,则应查找注册MSCOMCTL.OCX 文件。

我们可以按照以下方法进行注册:1)将文件解压到“C:\WINDOWS\system32”(WindowsXP);2)单击【开始】|【运行】命令,键入“regsvr32 C:\WINDOWS\system32 \MSCOMCTL.OCX ”(WindowsXP)”进行注册。

(二)添加代码1.添加表头Private Sub UserForm_Initialize()ListView1.ColumnHeaders.Add , , "日期", 64, 0ListView1.ColumnHeaders.Add , , "姓名", 54, 2ListView1.ColumnHeaders.Add , , "性别", 42, 2ListView1.ColumnHeaders.Add , , "年龄", 54, 2ListView1.ColumnHeaders.Add , , "联系方式", 54, 2ListView1.ColumnHeaders.Add , , "电话", 99, 2ListView1.ColumnHeaders.Add , , "诊断", 54, 2ListView1.ColumnHeaders.Add , , "手术名称", 86, 2ListView1.View = lvwReport '显示格式为报表格式ListView1.FullRowSelect = True '允许整行选中ListView1.Gridlines = True '显示网格线' ListView1.Sorted = True '排序End Sub以上代码中ListView1.ColumnHeaders.Add , , "日期", 64, 0中的64代表该表头字段的宽度,0代表居左显示方式。

vba listview控件用法例子

vba listview控件用法例子

vba listview控件用法例子VBA Listview控件用法示例在VBA编程中,Listview控件是一种非常有用的工具,它可以用于显示和管理大量数据。

Listview控件提供了一种可视化的方式来展示数据,并且可以方便地对数据进行排序、筛选和编辑。

以下是一个简单的示例,演示了如何使用VBA中的Listview控件。

首先,我们需要在VBA中添加Listview控件。

步骤如下:1. 打开VBA编辑器(按下Alt+F11)。

2. 在工具箱中找到"Microsoft Windows Common Controls",如果没有找到,可以右键点击工具箱,选择"其他控件",找到并勾选它。

3. 在VBA编辑器中的工具箱中,单击鼠标右键,选择"附加",然后选择"Microsoft Windows Common Controls X.X(其中X.X表示版本号)"。

4. 在工具箱中找到并单击"Listview"控件,然后在用户窗体上绘制一个Listview 控件。

接下来,我们可以使用以下代码示例来演示Listview控件的用法:```vbaPrivate Sub UserForm_Initialize()Dim i As Integer' 设置Listview控件的列标题With ListView1.View = lvwReport.ColumnHeaders.Add , , "姓名".ColumnHeaders.Add , , "年龄".ColumnHeaders.Add , , "性别"End With' 向Listview控件中添加数据With ListView1.ListItemsFor i = 1 To 10' 添加行Set itm = .Add(, , "姓名" & i)' 添加子项itm.SubItems(1) = "年龄" & iitm.SubItems(2) = "性别" & iNext iEnd WithEnd Sub```以上代码首先在用户窗体初始化事件中设置了Listview控件的列标题。

vb.net listview例子

vb.net listview例子

中ListView控件使用详解及案例在中,ListView控件是一个非常强大的控件,它允许用户在Windows窗体应用程序中显示列表数据。

通过使用ListView控件,您可以轻松地展示、编辑和操作数据,并且可以根据需要自定义其外观和行为。

下面将详细介绍ListView控件的使用方法和案例。

一、添加ListView控件首先,您需要在Windows窗体中添加ListView控件。

可以通过拖拽ListView控件从工具箱将其添加到窗体上。

二、设置ListView属性在添加完ListView控件后,您需要设置其属性以定义其外观和行为。

以下是一些常用的属性:1.View:设置ListView的显示方式,可以选择大图标、小图标、列表或详细列表等。

2.FullRowSelect:设置是否选择整行。

3.Sorted:设置是否对ListView进行排序。

belEdit:设置是否允许编辑ListView中的标签。

rgeImageList:设置大图标的图像列表。

6.SmallImageList:设置小图标的图像列表。

7.SelectionMode:设置选择模式,可以选择单选或多选。

三、添加项目在设置完属性后,您需要向ListView中添加项目。

可以通过以下几种方式添加项目:1.手动添加:使用代码逐个添加项目。

例如:ListView1.Items.Add("Item1")。

2.绑定数据源:将数据源绑定到ListView,数据源可以是数组、集合或数据表等。

例如:ListView1.DataSource = dataTable。

3.拖放文件:将文件拖放到ListView中,可以自动创建项目并显示文件名。

四、案例:显示目录中的文件列表下面是一个简单的案例,演示如何使用ListView控件显示目录中的文件列表:1.创建一个Windows窗体应用程序。

2.在窗体上添加一个ListView控件。

3.设置ListView的属性,例如View设置为LargeIcon,SelectionMode设置为Single。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VB ListView的使用ListView控件比前面几种控件要复杂一些,通过此控件,可将项目组成带有或不带有列标头的列,并显示伴随的图标和文本。

ListView控件是由ColumnHeader和ListItem对象所组成的,其中ColumnHeader对象的个数决定了控件的列数,而ListItem对象的个数则决定了控件的行数。

(图7)ColumnHeader对象是ListView控件中包含标头文字的项目。

利用ColumnHeader对象,用户可以:▲单击对象触发ColumnClick事件并根据数据项目将项目排序。

▲拖动对象的右边框来调整列宽度。

▲在报表视图中隐藏ColumnHeader对象。

ColumnHeader对象的数目决定每个ListItem对象可包含的子项目数目。

删除ColumnHeader对象后所有与列关联的子项目也将被删除,并且每个ListItem对象的子项目数组将平移以更新ColumnHeader的索引,而这将导致剩余的列标头SubItemIndex属性的改变。

ColumnHeader对象的SubItemIndex属性该属性返回与ListView控件中ColumnHeader对象关联的子项目的索引。

子项目是字符串数组,代表显示在报表视图中的ListItem对象的数据。

第一列的列标头SubItemIndex属性设置为0,这是因为小图标和ListItem对象的文字总出现在第一列中,而且它们被当作ListItem对象而不是子项目。

列标头数目取决于子项目数目。

列标头数目总是比子项目数目多1。

在设计时可以利用属性页的“列首”选项卡将ColumnHeader对象添加到ListView控件中,在运行时则用Add方法添加。

ColumnHeader对象的Add方法该方法的使用与前面那些控件基本相似,就不再介绍了。

ListView1.ColumnHeader.Add(index,key,text,width,alignment)ListItem对象是指控件中的一行(不包含标头行)的所有内容。

它也可包含文本和图片,但是要使用图片则必须通过Icons和SmallIcons属性引用ImageList控件。

ListItem对象的SubItems属性返回或设置一个字符串(子项目)数组,它代表ListView控件中ListItem对象的数据。

ListItem对象可包含任意多个的关联项目数据字符串(子项目),但每个ListItem对象子项目数目必须相同。

每个子项目都对应于相关的列标头,无法直接向子项目数组添加元素,只有通过ColumnHeaders的Add方法添加列标头的方法来添加子项目。

ListItem对象的Add方法该方法添加ListItem对象到ListView控件的ListItems集合中并返回对新创建对象的引用。

它的语法如下:ListItem1.Add(index,key,text,icon,smallIcon)ListView控件的View属性ListView控件可使用四种不同视图显示项目,这可以用View属性来确定。

该属性返回或设置ListView控件中ListItem对象的外观。

ListView控件的SortOrder,SortKey和Sorted属性控件中的ListItem对象可以按要求进行排序,与排序有关的属性是SortOrder,Sorted 和SortKey属性。

SortOrder属性返回或设置一个值,此值决定ListView控件中的ListItem对象以升序或降序排序。

SortKey属性返回或设置一个值,此值决定ListView控件中的ListItem对象如何排序。

Sorted属性返回或设置确定ListView控件中的ListItem对象是否排序的值。

下面的代码说明了如何创建ColumnHeaders和ListItem对象,SubItemIndex和SubItem 属性的使用方法以及如何排序。

Private Sub Form_load()'确保ListView控件的view属性为报表视图。

ListView1.View=lvwReport'添加三列。

ListView1.ColumnHeaders.Add,"Name","姓名"ListView1.ColumnHeaders.Add,"Sex","性别"ListView1.ColumnHeaders.Add,"Age","年龄"'向控件添加ListItem对象。

Dim itmX As ListItem'添加column1的名称。

Set itmX=ListView1.ListItems.Add(1,"ZL","张力")'使用SubItemIndex将SubItem与正确的ColumnHeader关联。

使用关键字("Sex")指定正确的ColumnHeader。

itmX.SubItems(ListView1.ColumnHeaders("Sex").SubItemIndex)="男"'使用ColumnHeader关键字将SubItems字符串与'正确的ColumnHeader关联。

itmX.SubItems(ListView1.ColumnHeaders("Age").SubItemIndex)="19"Set itmX=ListView1.ListItems.Add(1,"LF","李芳")itmX.SubItems(ListView1.ColumnHeaders("Sex").SubItemIndex)="男"itmX.SubItems(ListView1.ColumnHeaders("Age").SubItemIndex)="22"Set itmX=ListView1.ListItems.Add(1,"WW","王伟")itmX.SubItems(ListView1.ColumnHeaders("Sex").SubItemIndex)="男"itmX.SubItems(ListView1.ColumnHeaders("Age").SubItemIndex)="24"End SubPrivate Sub ListView1_ColumnClick(ByVal ColumnHeader As ComctlLib.ColumnHeader) Select Case ColumnHeader.KeyCase "Sex":ListView1.SortKey=1ListView1.SortOrder=lvwAscendingListView1.Sorted=TrueCase "Age":ListView1.SortKey=2ListView1.SortOrder=lvwAscendingListView1.Sorted=TrueEnd SelectEnd Sub一、ListView使用简介ListView控件是VB开发者非常喜爱的控件之一。

作为Windows95公共控件组(COMCTL32.OCX)的成员,它经常与经常与TreeView、ImageList等控件联合使用。

即用TreeView显示一个的树型结构,而用ListView显示选中的节点(Node)对象的记录集。

这是笔者在开发财务软件项目中的<<凭证管理>> 模块的一个用户界面。

屏幕左边是一个TreeView控件,用来显示会计凭证的类别;右边是一个ListView,用来显示对应类别的凭证目录;上方是一个菜单条控件(MenuBar)和一个工具条控件(ToolBar);下方是一个状态栏控件(StatusBar),用来显示凭证数个当前日期。

大家可以看到图中所示的界面非常类似于Window95/98 的资源浏览器,Windows的界面风格做为一种标准已为广大用户所接受。

而Windows操作系统的主要的优点就是为所有的应用程序提供了公用的界面。

知道如何使用基于Windows的应用程序的用户,很容易学会使用其他应用程序。

这种使用Windows95公共控件组合的方法能够达到与Windows界面的一致性,所以在目前VB5.0应用程序的开发中经常使用。

二、填充大量结果集所遇到的问题在实际应用开发中,经常用ListView填充一个数据库结果集(Record set)的内容。

即先写一段SQL查询语句,产生一个结果集,然后将结果集的每一条记录用DO...LOOP循环语句中填到ListView中。

但是当结果集很大时(例如有5000条以上的记录) ,填充所需要的时间会很长。

用户不得不等很长时间完成一个查询。

所以在查询的过程中必须允许用户按Escape键退出。

具体做法是在DO...LOOP循环体中加一条DoEvents函数,并写一段中断退出程序代码。

DoEvents函数的功能是:转让控制权,以便让操作系统处理其它的事件。

这样在长时间的查询过程中,如果用户按了Escape键,将退出循环体,结束查询过程。

但是这样又会引发另外一个问题:由于DoEvents 可以让操作系统响应别的事件,循环体中填充每一条ListView项目(ListItem)的过程也会显示出来,所以在填充的过程中屏幕会不停的闪动,这种现象当然不能被用户所接受。

如何解决这个问题呢?三、解决方案用WindowsAPI函数可以解决这个问题。

首先对几个用到的API函数做一解释和说明。

1.GetClientRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long此函数的功能是获得一个指定对象窗口(Window) 的矩型框区域(rectangle)。

Hwnd为指定对象或窗体的句柄。

LpRect为返回矩型框的结构(必须定义为结构类型的变量)。

2.ValidateRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long此函数的功能是使指定的矩型区域生效。

相关文档
最新文档