ExcelVBA listview、imagelist控件
1、在Listview控件中,用ColumnHeaders对象来操作列,而添加新的列可以用ColumnHeaders对象的ADD方法。具体如下:
ListView1.ColumnHeaders.Add序号,唯一的字符串标识,列标显示文字,列宽,列的内容对齐方式,所使用的图标序号。
对齐方式有:lvwColumnLeft 、 lvwColumnCenter、lvwColumnRight
其中第1列只能左对齐,而不能采取其他对齐方式
2、Listview控件的View属性决定着它的显示的方式,具体如下:
ListView1.View = lvwIcon '图标显示
ListView1.View = lvwSmallIcon '小图标显示
ListView1.View = lvwList '列表显示
ListView1.View = lvwReport '报表显示
3、SelectedItem属性即是指当前选取的记录
4、清空listview控件中的内容:ListView1.ListItems.Clear
显示数据表内容:
Private Sub UserForm_Initialize()
With ListView1 '初始化listview
.ColumnHeaders.Add , , "学号", 60, lvwColumnLeft
.ColumnHeaders.Add , , "姓名", 60, lvwColumnCenter
.ColumnHeaders.Add , , "班级", 70, lvwColumnCenter
.View = lvwReport '以报表的格式显示
.LabelEdit = lvwManual '使内容不可编辑
End With
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Set cn = New ADODB.Connection '连接数据库
Set rs = New ADODB.Recordset
cn.Open "provider=microsoft.jet.oledb.4.0;data source=D:/db1.mdb"
rs.Open "student", cn, adOpenKeyset, adLockBatchOptimistic '数据表student
Do While Not rs.EOF
With ListView1.ListItems.Add() '添加记录
.Text = rs.Fields("stu_num") '添加第一列内容
.SubItems(1) = rs.Fields("stu_name") '添加第二列内容
.SubItems(2) = rs.Fields("stu_class") '添加第三列内容
End With
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
cn.Close
End Sub
读取listview选择的内容:
将选中的内容分别显示在UserForm1的文本框中
With UserForm1
.stu_num.Value = ListView1.SelectedItem.Text '学号
.stu_name.Text = ListView1.SelectedItem.SubItems(1) '姓名
.stu_class.Text = ListView1.SelectedItem.SubItems(2) '班级
End With
--------------------------------------------------------------------------------------------------------------------
Private Sub UserForm_Initialize()
'定义变量数据类型listview控件在哪里
Dim ITM As ListItem
ListView1.ColumnHeaders.Add 1, , "QQ号", ListView1.Width / 3 '添加QQ号列
ListView1.ColumnHeaders.Add 2, , "呢称", ListView1.Width / 3, lvwColumnCenter '添加呢称列
ListView1.ColumnHeaders.Add 3, , "来自何处", ListView1.Width / 3 '添加来自何处列
ListView1.View = lvwReport '设置显示格式为报表格式
ListView1.Gridlines = True '显示网格线
ListView1.SmallIcons = ImageList1 '建立控件和ImageList1关联
For i = 1 To 5
'添加记录
Set ITM = ListView1.ListItems.Add()
ITM.Text = Cells(i, 1) '添加第1列内容
ITM.SubItems(1) = Cells(i, 2)
ITM.SubItems(2) = Cells(i, 3)
ITM.SmallIcon = i '设置添加的记录图标为ImageList1中序号为i的图标.
Next i
Set ITM = Nothing
End Sub
--------------------------------------------------------------------------------
Private Sub UserForm_Initialize()
ListView1.View = lvwIcon '设置控件显示方式为图标显示ImageList1
ListView1.Icons = ImageList1 '建立和 ImageList1控件的关联

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。