vb 修改listview某行的图标

来源:百度知道 编辑:UC知道 时间:2024/05/10 11:20:00
窗体上listview1(lvwReport显示模式)与imagelist1绑定,用下列函数写listview1的内容
现在有个问题解决不了:在程序运行过程如何修改任意某行的图标,图标来源于imagelist1里。请高手帮忙解决这个问题,非常感谢!

Public Sub AllUserList(WhereAdd As ListView) '将所有用户列出到ListView控件
Dim UserW As String, ii As String, li As ListItem, a As Integer, i As Integer
a = FreeFile
Open "D:\台帐系统\ini\用户信息.ini" For Input As a
Do Until EOF(a)
Line Input #a, UserW
i = InStr(UserW, "|")
If Mid(UserW, i - 1, 1) = "在" Then
Set li = WhereAdd.ListItems.Add(, , Mid(UserW, 1, i - 2), 1, 1)
ElseIf Mid(UserW, i - 1, 1) = "离" Then
Set li = WhereAdd.ListItems.Add(, , Mid(UserW, 1, i - 2), 2, 2)
End If
li.SubItems(1) = Mid(UserW, i + 1, Len(UserW) - i)
Loop
Close #a
WhereAdd.View = lvwReport
End Sub

给你个示例吧!

Sub LoadListView()
'ListView值输入
MousePointer = 11
'为 ColumnHeader 对象创建对象变量。
ListView1.ColumnHeaderIcons = ImageList1
ListView1.ColumnHeaders.Clear
ListView1.ListItems.Clear
Dim ClmX As ColumnHeader
'添加 ColumnHeaders。列宽度等于控件宽度
'除以 ColumnHeader 对象的数目。
Set ClmX = ListView1.ColumnHeaders.Add(, , "任务编号", 1000)
Set ClmX = ListView1.ColumnHeaders.Add(, , "主题", 4300)
ImageList1.ListImages(32).Key = "zt"
ClmX.Icon = "zt"
Set ClmX = ListView1.ColumnHeaders.Add(, , "截止日期", 1200)
Set ClmX = ListView1.ColumnHeaders.Add(, , "状态", 1000)
ImageList1.ListImages(36).Key = "zz"
ClmX.Icon = "zz"
ListView1.BorderStyle = ccFixedSingle '设置 BorderStyle 属性。
ListView1.View = lvwReport '设置 View 属性为报表型。
ListView1.Arrange = lvwAutoTop
ListView1.Icons = ImageList1
ListView1.SmallIco