Listview控件上期说到,又爱又恨,本节内容将介绍一个有颜色的内容。

一个工作表,如果加上不同的图标来进行区分显示,那么就显得十分美观了。

给列表表头或内容用一个图片来显示效果,如下图样式:

vba listview控件怎么加载(如何在Listview控件中添加图标)(1)

下图为小图标显示样式

vba listview控件怎么加载(如何在Listview控件中添加图标)(2)

下图为列表显示样式

vba listview控件怎么加载(如何在Listview控件中添加图标)(3)

下图为大图标显示样式

vba listview控件怎么加载(如何在Listview控件中添加图标)(4)

通过给文字表格添加图标,是不是看上去好看了不少?

下面重点说一下,如何实现给Listview控件添加这些图标。

首先,我们用到了另一个控件ImageList,这是个图片列表对象,也就是说,把所有用到的图标首先要放置到这个对象里面,当Listview用到的时候在这里取。

这个对象没有实际形状,所以也不做外观编辑,只要将图片添加到ImageList对象里就可以。

添加方法可以进行面向对象方式进行,代码方式,本节不做介绍。

vba listview控件怎么加载(如何在Listview控件中添加图标)(5)

好,完成这一步是前提,然后在进行Listview属性设置,才能正确地从ImageLIst对象中提取出相应的图标。

设置方法:

.Icons = Me.ImageList1 '大图标 .SmallIcons = Me.ImageList1 '小图标 .ColumnHeaderIcons = Me.ImageList1 '列表图标 .View = lvwReport

分别有4个属性来进行:

  1. Icons 表示大图标
  2. SmallIcons 表示小图标
  3. ColumnHeaderIcons 表示表头图标
  4. View 表示是哪种方式来进行显示

View有4个可选项: lvwSmallIcon、lvwIcon、 lvwList、 lvwReport

通过以上设置,那就实现了给Listview控件添加图标建立联系,当然还不能看到图标,还有重要的一步,那就是添加图标。

添加图标是程序中进行的一个频繁运行环节,因为要给每条信息添加不同的图标。

添加方法:

Listview1.ColumnHeaders.Add , , "文字", 100, , 1

上述代码是添加标题图标的方法,其中1代表ImageList控件图标的索引号,也就是添加图片索引号为1的图标。

Listview1.ListItems.Add(,,"文字",1,1)

上述代码是添加数据图标的方法,其中1代表ImageList控件图标的索引号,也就是添加图片索引号为1的图标。

这里看到有2个1,第一个1表示大图标,第二个1表示小图标。

完整代码:

Private Sub UserForm_Initialize() Dim xArr, xi As Integer xArr = Array("打开", "设置", "编辑", "联系") Dim li As Integer, ic As Single ic = Me.ImageList1.ListImages.Count With Me.ListView1 .Icons = Me.ImageList1 '大图标 .SmallIcons = Me.ImageList1 '小图标 .ColumnHeaderIcons = Me.ImageList1 '列表图标 .View = lvwReport For li = 1 To ic '添加表头 .ColumnHeaders.Add , , xArr(li - 1), .Width \ ic, , li Next li For li = 1 To ic With .ListItems.Add .Icon = li .SmallIcon = li .Text = xArr(li - 1) For xi = 1 To ic - 1 .SubItems(xi) = xi Next xi End With Next li End With End Sub

按钮代码:

可以创建4个按钮,分别设置如下代码

Private Sub CommandButton1_Click() Me.ListView1.View = lvwSmallIcon End Sub Private Sub CommandButton2_Click() Me.ListView1.View = lvwIcon End Sub Private Sub CommandButton3_Click() Me.ListView1.View = lvwList End Sub Private Sub CommandButton4_Click() Me.ListView1.View = lvwReport End Sub

通过样一个操作,就完成了给Listview列表添加图标的功能。

欢迎关注、收藏

---END---

,