ListView控件功能综合应用代码Word格式文档下载.docx
- 文档编号:16348611
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:13
- 大小:18.15KB
ListView控件功能综合应用代码Word格式文档下载.docx
《ListView控件功能综合应用代码Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《ListView控件功能综合应用代码Word格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。
ListViewTag(Initialize)=ListViewTagName
Initialize=Initialize+1
ExitFunction
ONERROR:
IfErr.Number<
>
0Then
SelectCaseErr.Number
CaseElse
MsgBox"
错误代码:
"
&
Err.Number&
"
错误描述:
Err.Description,vbExclamation,"
初始化"
EraseListViewTag
EndSelect
EndFunction
入口参数;
ListView1是ListView控件对象.
HeadArray()是个二维变体数组
IsCheckBoxes是否要显示复选框
ListView控件初始化为报表格式可通用初始化ListView控件
PrivateFunctionListViewInitialize(ByRefListView1AsListView,ByRefHeadArray()AsVariant,ByValIsCheckBoxesAsBoolean)
DimitmXAsListItem'
定义一个ListItem对象
DimclmXAsColumnHeader'
添加ColumnHeaders。
列宽度等于控件的宽度
ListView1.ListItems.Clear'
刷新ListView控件
ListView1.View=lvwReport'
报表格式
ListView1.Gridlines=True'
确定在“报表”视图中ListView控件是否显示网格线
ListView1.BorderStyle=ccFixedSingle'
返回或设置对象的边框样式
ListView1.FullRowSelect=True'
是否选择整行
SelectCaseIsCheckBoxes
CaseIs=True
ListView1.CheckBoxes=True'
是否显示复选框
Fori=LBound(HeadArray)ToUBound(HeadArray)
SetclmX=ListView1.ColumnHeaders.Add(,,HeadArray(i,0),HeadArray(i,1))
SetitmX=Nothing
SetclmX=Nothing
EraseHeadArray'
清空内存空间
ListView1是控件名称
ArrayValue是动态数组
添加数据到ListView控件中
PublicFunctionInisFile(ByRefListView1AsListView,ByRefArrayValue()AsVariant)
Fori=LBound(ArrayValue)ToUBound(ArrayValue)
SelectCasei
Case0
SetitmX=ListView1.ListItems.Add(,,ArrayValue(i))'
文件名称
SelectCaseTypeName(ArrayValue(i))
Case"
Date"
itmX.SubItems(i)=Format(ArrayValue(i),"
yyyy-m-d"
)'
文件属性日期
itmX.SubItems(i)=ArrayValue(i)'
文件路径
SelectCaseArrayValue(i)
取消复制"
"
创建目录"
目录更改"
itmX.ListSubItems.Item(i).ForeColor=vbRed'
0xFF红色'
vbBlue
DoEvents'
转让控制权给系统
EraseArrayValue'
IfErr.Number<
SelectCaseErr.Number
Case9,380,383
ResumeNext
CaseElse
添加数据到ListView控件中"
EndSelect
EndIf
ListView1是ListView控件
ArrayValue是装载修改数据的数组
修改ListView控件中的数据
PublicFunctionUpdateListViewData(ByRefListView1AsListView,ByValRow,ByRefArrayValue()AsVariant)
SetitmX=ListView1.ListItems(Row)'
获取指定行
vbBlue'
更改指定列的字体颜色
修改ListView控件中的数据"
在一个ListView控件查询另一个ListView控件的指定的字符串,并选中所当前行
PrivateSubListView2_Click()
DimstrFindMeAsString
IfListView2.ListItems.Count=0ThenExitSub
strFindMe=ListView2.ListItems(ListView2.SelectedItem.Index).Text’获取选定行的第一列的文本
’FindItem方法返回找到的项目的引用,所以必须创建对象变量并将找到的项目设置给它。
DimitmFoundAsListItem’FoundItem变量。
SetitmFound=ListView1.FindItem(strFindMe,lvwText,,lvwPartial)
’若未找到符合条件的ListItem则通知用户并退出。
如果找到ListItem,则使用EnsureVisible方法滚动控件,并选定ListItem。
IfitmFoundIsNothingThen’若没有匹配成功,则通知用户并退出。
Nomatchfound"
itmFound.EnsureVisible’滚动ListView以显示找到的ListItem。
itmFound.Selected=True’选定ListItem。
ListView1.SetFocus’将焦点返回给控件以查看选择。
SetitmFound=Nothing
Err.Description,vbExclamation,App.ExeName
EndSub
ListView控件的报图标功能应用代码
ImageList1是装载图片的ImageList控件,必须先装载好待用图片
获取本机磁盘对象
PublicFunctionGetDriveObject(ByRefListView1AsListView,ByRefImageList1AsImageList)
DimMyFsoAsObject'
文件对象
DimMyDriveAsDrive'
磁盘对象集合
DimitmXAsListItem
SetMyFso=CreateObject("
Scripting.FileSystemObject"
)
ListView1.View=lvwIcon'
图标格式
ListView1.Icons=ImageList1'
初始化ImageList1图像控件
ForEachMyDriveInMyFso.Drives
SelectCaseMyDrive.DriveType
Case1'
移动盘
SetitmX=ListView1.ListItems.Add(,,UCase(MyDrive.DriveLetter)&
:
\"
1)
Case2'
本地硬盘
2)
Case4'
本地光驱
3)
SetMyFso=Nothing:
SetMyDrive=Nothing:
SetitmX=Nothing
磁盘对象"
ListView1是ListView控件对象
TextArray是一个一维数组
ImageList1是装载图片的ImageList控件,必须先装载好待用图片
初始化ListView控件为图标格式
PublicFunctionListView_ICO(ByRefListView1AsListView,ByRefTextArray()AsVariant,ByRefImageList1AsImageList)
DimForVAsLong
ForForV=LBound(TextArray)ToUBound(TextArray)
SetitmX=ListView1.ListItems.Add(,,TextArray(ForV),1)
图标格式"
SqlString是查询语句
ListView1是控件对象
ConnectObject全局连接数据对象
ADObject是全局ADO对象,用于类模块查询用。
查询数据库数据并返回一个一维数组
PublicFunctionSelectDATA(ByValSqlStringAsString,ByRefListView1AsListView,ByRefConnectObjectAsConnect,ByRefADObjectAsObject)AsBoolean
DimColAsLong
DimRecordsetAsADODB.Recordset
DimTempArray()AsVariant
SelectCaseConnectObject.GetRecordset_Data(SqlString,Recordset,ADObject)
没有数据可提供查询!
vbExclamation,App.EXEName
SelectDATA=False
Case1
DoUntilRecordset.EOF
ForCol=0ToRecordset.Fields.Count-1
ReDimPreserveTempArray(Col)
TempArray(Col)=Recordset.Fields(Col).Value
CallInisFile(ListView1,TempArray)'
添加数据到控件行中
EraseTempArray
Recordset.MoveNext
Loop
Recordset.Close:
SetRecordset=Nothing:
SelectDATA=True
Case2
查询出错!
Col是指定要查找相同值的列
Col_Value是要比较的值
检查ListView控件中指定列的值是否重复输入
PublicFunctionRemove_Repeat_Value(ByRefListView1AsListView,ByValColAsLong,ByValCol_ValueAsVariant)AsBoolean
DimRAsLong
DimTempAsString
DimCAsLong
IfListView1.ListItems.Count>
ForR=1ToListView1.ListItems.Count
IfCol=1Then'
如果是指定第一列的值
Temp=ListView1.ListItems(R).Text'
获取当前行的第一列的文本
Temp=ListView1.ListItems(R).SubItems(Col)'
获取当前行的指定的列的文本值
转移控制权
'
执行比较
IfStrComp(Trim(Temp),Col_Value,vbBinaryCompare)=0Then'
找到相同值,就退出函数
MsgBoxCol_Value&
已经被添加到待禁止运行界面中,不需要重复添加!
vbExclamation,"
提示"
Remove_Repeat_Value=True
ExitFunction
Remove_Repeat_Value=False'
循环完成如果没有找到相同值则返回假
Remove_Repeat_Value=False
指定列的值是否重复输入"
不要删除下面所有注释的行。
DimstrFindMeAsString
strFindMe=ListView2.ListItems(ListView2.SelectedItem.Index).Text'
获取选定行的第一列的文本
FindItem方法返回找到的项目的引用,所以必须创建对象变量并将找到的项目设置给它。
DimitmFoundAsListItem'
“FoundItem变量”
SetitmFound=ListView1.FindItem(Col_Value,lvwText,,lvwPartial)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ListView 控件 功能 综合 应用 代码