当前位置:文档之家› ListView控件功能综合应用代码

ListView控件功能综合应用代码

ListView控件的报表功能应用代码'功能;检查ListView控件是否已初始化Public Function ListViewHead(ByRef ListViewName As ListView, ByRef ListViewArray() As Variant, ByVal ListViewTagName As String, ByVal IsCheckBoxes As Boolean)On Error GoTo ONERRORStatic Initialize As LongStatic ListViewTag() As VariantDim i As LongDim Head As BooleanReDim Preserve ListViewTag(Initialize)For i = 0 To UBound(ListViewTag)If ListViewTagName = ListViewTag(i) ThenHead = TrueExit ForElseHead = FalseEnd IfNextIf Head = False ThenCall MdlListView.ListViewInitialize(ListViewName, ListViewArray, IsCheckBoxes) '初始化控件ListViewTag(Initialize) = ListViewTagNameInitialize = Initialize + 1End IfExit FunctionONERROR:If Err.Number <> 0 ThenSelect Case Err.NumberCase ElseMsgBox "错误代码:" & Err.Number & " 错误描述:" & Err.Description, vbExclamation, "初始化"Erase ListViewTagEnd SelectEnd IfEnd Function'入口参数;ListView1 是ListView控件对象.'入口参数;HeadArray() 是个二维变体数组'入口参数;IsCheckBoxes 是否要显示复选框'功能;ListView 控件初始化为报表格式可通用初始化ListView控件Private Function ListViewInitialize(ByRef ListView1 As ListView, ByRef HeadArray() As Variant, ByVal IsCheckBoxes As Boolean)On Error GoTo ONERRORDim itmX As ListItem '定义一个ListItem对象Dim clmX As ColumnHeader '添加ColumnHeaders。

列宽度等于控件的宽度Dim i As LongListView1.ListItems.Clear '刷新ListView控件ListView1.View = lvwReport '报表格式ListView1.Gridlines = True '确定在“报表”视图中ListView控件是否显示网格线ListView1.BorderStyle = ccFixedSingle '返回或设置对象的边框样式ListView1.FullRowSelect = True '是否选择整行Select Case IsCheckBoxesCase Is = TrueListView1.CheckBoxes = True '是否显示复选框End SelectFor i = LBound(HeadArray) To UBound(HeadArray)Set clmX = ListView1.ColumnHeaders.Add(, , HeadArray(i, 0), HeadArray(i, 1))NextSet itmX = NothingSet clmX = NothingErase HeadArray '清空内存空间Exit FunctionONERROR:If Err.Number <> 0 ThenSelect Case Err.NumberCase ElseMsgBox "错误代码:" & Err.Number & " 错误描述:" & Err.Description, vbExclamation, "初始化"End SelectEnd IfEnd Function''入口参数;ListView1 是控件名称'入口参数;ArrayValue 是动态数组'功能;添加数据到ListView控件中Public Function InisFile(ByRef ListView1 As ListView, ByRef ArrayValue() As Variant)On Error GoTo ONERRORDim itmX As ListItem '定义一个ListItem对象Dim i As LongFor i = LBound(ArrayValue) To UBound(ArrayValue)Select Case iCase 0Set itmX = ListView1.ListItems.Add(, , ArrayValue(i)) '文件名称Case ElseSelect Case TypeName(ArrayValue(i))Case "Date"itmX.SubItems(i) = Format(ArrayValue(i), "yyyy-m-d") '文件属性日期Case ElseitmX.SubItems(i) = ArrayValue(i) '文件路径End SelectSelect Case ArrayValue(i)Case "取消复制", "创建目录", "目录更改"itmX.ListSubItems.Item(i).ForeColor = vbRed '0xFF 红色'vbBlueEnd SelectEnd SelectNextDoEvents '转让控制权给系统Set itmX = NothingErase ArrayValue '清空内存空间Exit FunctionONERROR:If Err.Number <> 0 ThenSelect Case Err.NumberCase 9, 380, 383Resume NextCase ElseMsgBox "错误代码:" & Err.Number & " 错误描述:" & Err.Description, vbExclamation, "添加数据到ListView控件中"Resume NextEnd SelectEnd IfEnd Function'入口参数;ListView1 是ListView控件'入口参数;ArrayValue 是装载修改数据的数组'功能;修改ListView控件中的数据Public Function UpdateListViewData(ByRef ListView1 As ListView, ByVal Row, ByRef ArrayValue() As Variant)On Error GoTo ONERRORDim itmX As ListItem '定义一个ListItem对象Dim i As LongFor i = LBound(ArrayValue) To UBound(ArrayValue)Select Case iCase 0Set itmX = ListView1.ListItems(Row) '获取指定行Case ElseSelect Case TypeName(ArrayValue(i))Case "Date"itmX.SubItems(i) = Format(ArrayValue(i), "yyyy-m-d") '文件属性日期Case ElseitmX.SubItems(i) = ArrayValue(i) '文件路径End SelectSelect Case ArrayValue(i)Case "取消复制", "创建目录", "目录更改"itmX.ListSubItems.Item(i).ForeColor = vbRed '0xFF 红色'vbBlue '更改指定列的字体颜色End SelectEnd SelectNextDoEvents '转让控制权给系统Set itmX = NothingErase ArrayValue '清空内存空间Exit FunctionONERROR:If Err.Number <> 0 ThenSelect Case Err.NumberCase ElseMsgBox "错误代码:" & Err.Number & " 错误描述:" & Err.Description, vbExclamation, "修改ListView控件中的数据"Resume NextEnd SelectEnd IfEnd Function功能;在一个ListView控件查询另一个ListView控件的指定的字符串,并选中所当前行Private Sub ListView2_Click()On Error GoTo ONERRORDim strFindMe As StringIf ListView2.ListItems.Count = 0 Then Exit SubstrFindMe = ListView2.ListItems(ListView2.SelectedItem.Index).Text ’获取选定行的第一列的文本’FindItem 方法返回找到的项目的引用,所以必须创建对象变量并将找到的项目设置给它。

相关主题