转:)Private Sub Command1_Click()
lvList.GridLines = Not lvList.GridLines
SetBackColor lvList, vbRed, vbWhite
End SubPrivate Sub Form_Load()
Dim i As Long, lvItem As ListItem
For i = 1 To 450
Set lvItem = lvList.ListItems.Add(, , "演示 " & i)
If i Mod 2 = 0 Then lvItem.Checked = True Else lvItem.Checked = False
Next i
SetBackColor lvList, picBoard, vbRed, vbGreen
End SubPrivate Function SetBackColor(lvList As ListView, picBoard As PictureBox, CheckColor As ColorConstants, unCheckColor As ColorConstants)
Dim iWidth As Single, iHeight As Single, tHeight As Single, lMatch As Single
Dim i As Long
With picBoard
.AutoRedraw = True
.BackColor = lvList.BackColor
.Cls
.Visible = False
.ScaleMode = vbTwips
.Width = lvList.Width + 100
.Height = lvList.ListItems(1).Height * (lvList.ListItems.Count + 1)
With .Font
.Size = lvList.Font.Size + 2.75
.Bold = lvList.Font.Bold
.Charset = lvList.Font.Charset
.Italic = lvList.Font.Italic
.Name = lvList.Font.Name
.Strikethrough = lvList.Font.Strikethrough
.Underline = lvList.Font.Underline
.Weight = lvList.Font.Weight
End With
iWidth = .Width For i = 1 To lvList.ListItems.Count
If i = 1 Then lMatch = lvList.ListItems(i).Top - lvList.ListItems(i).Height
tHeight = lvList.ListItems(i).Top - lvList.ListItems(i).Height - lMatch
iHeight = lvList.ListItems(i).Height
If lvList.ListItems(i).Checked Then
picBoard.Line (0, tHeight)-(iWidth, tHeight + iHeight), CheckColor, BF
Else
picBoard.Line (0, tHeight)-(iWidth, tHeight + iHeight), unCheckColor, BF
End If
Next
End With
lvList.Picture = picBoard.Image
End Function
说明:
在工程中添加一个ListView控件,Command控件,PictureBox控件。
调用方法为:
SetBackColor ListView控件名称,PictureBox控件名称,ListItem的Checck为True时的颜色,ListItem的Check为False时的颜色
转:
lvList.GridLines = Not lvList.GridLines
SetBackColor lvList, vbRed, vbWhite
End SubPrivate Sub Form_Load()
Dim i As Long, lvItem As ListItem
For i = 1 To 450
Set lvItem = lvList.ListItems.Add(, , "演示 " & i)
If i Mod 2 = 0 Then lvItem.Checked = True Else lvItem.Checked = False
Next i
SetBackColor lvList, picBoard, vbRed, vbGreen
End SubPrivate Function SetBackColor(lvList As ListView, picBoard As PictureBox, CheckColor As ColorConstants, unCheckColor As ColorConstants)
Dim iWidth As Single, iHeight As Single, tHeight As Single, lMatch As Single
Dim i As Long
With picBoard
.AutoRedraw = True
.BackColor = lvList.BackColor
.Cls
.Visible = False
.ScaleMode = vbTwips
.Width = lvList.Width + 100
.Height = lvList.ListItems(1).Height * (lvList.ListItems.Count + 1)
With .Font
.Size = lvList.Font.Size + 2.75
.Bold = lvList.Font.Bold
.Charset = lvList.Font.Charset
.Italic = lvList.Font.Italic
.Name = lvList.Font.Name
.Strikethrough = lvList.Font.Strikethrough
.Underline = lvList.Font.Underline
.Weight = lvList.Font.Weight
End With
iWidth = .Width For i = 1 To lvList.ListItems.Count
If i = 1 Then lMatch = lvList.ListItems(i).Top - lvList.ListItems(i).Height
tHeight = lvList.ListItems(i).Top - lvList.ListItems(i).Height - lMatch
iHeight = lvList.ListItems(i).Height
If lvList.ListItems(i).Checked Then
picBoard.Line (0, tHeight)-(iWidth, tHeight + iHeight), CheckColor, BF
Else
picBoard.Line (0, tHeight)-(iWidth, tHeight + iHeight), unCheckColor, BF
End If
Next
End With
lvList.Picture = picBoard.Image
End Function
说明:
在工程中添加一个ListView控件,Command控件,PictureBox控件。
调用方法为:
SetBackColor ListView控件名称,PictureBox控件名称,ListItem的Checck为True时的颜色,ListItem的Check为False时的颜色
转:
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货