龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VB开发 >

VB 更改LISTVIEW的背景色

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
Public Sub SetListViewColor(Lv As ListView, picBg As PictureBox, LvCount As Long) Author:深夜的树阴 DateTime:2005-05-18 Description:更改LISTVIEW的背景色 Dim i As Integer Lv.ColumnHeaders.Clear Lv.ListItems.Clear Lv.ColumnHeaders.

Public Sub SetListViewColor(Lv As ListView, picBg As PictureBox, LvCount As Long)
'Author:深夜的树阴
'DateTime:2005-05-18
'Description:更改LISTVIEW的背景色
   Dim i As Integer
    Lv.ColumnHeaders.Clear
    Lv.ListItems.Clear
    Lv.ColumnHeaders.Add , "a", "test1", 100
    Lv.ListItems.Add , "a1", "123"  '取得行宽
   
   picBg.BackColor = Lv.BackColor

   Lv.Parent.ScaleMode = vbTwips

    picBg.ScaleMode = vbTwips

    picBg.BorderStyle = vbBSNone

    picBg.AutoRedraw = True

    picBg.Visible = False  

    picBg.Width = Screen.Width   '因为我的LISTVIEW会自动调整大小的,所以直接用屏幕的宽度

    picBg.Height = Lv.ListItems(1).Height * LvCount '取得要添充的高度

    picBg.ScaleHeight = LvCount

    picBg.ScaleWidth = 1

    picBg.DrawWidth = 1
    '-----------------------------

    '画出每行LISTVIEW的颜色

    '------------------------------

    For i = 1 To LvCount
      
        If i / 2 = Int(i / 2) Then

            picBg.Line (0, i - 1)-(1, i), &HC0FFFF, BF

        Else
            picBg.Line (0, i - 1)-(1, i), 16777152, BF

        End If

    Next

    Lv.Picture = picBg.Image
   
    Lv.ColumnHeaders.Clear
    Lv.ListItems.Clear
End Sub

精彩图集

赞助商链接