| 
Private Sub Command1_Click()   lvList.GridLines = Not lvList.GridLines   SetBackColor lvList, vbRed, vbWhite End Sub Private 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 Sub Private 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 |