用代码实现ListView控件的行间隔颜色!

类别:.NET开发 点击:0 评论:0 推荐:

  ListView控件在写程序的时候经常会用到,是一个很实用的控件。不过在显示的数据比较多的时候(以报表风格显示数据,类似于资源管理器的详细查看),看起来不方便。大家可能对论坛比较熟悉,大多数论坛显示的时候都是每行以不同的颜色进行显示,以区分出不同行的数据。其实我们也可以借鉴一下这个方法,用程序来实现ListView控件的行间隔颜色。

 

                        崔占民

                    EMAIL:[email protected]

 

  首先在窗口中添加一个ListView控件,方法:菜单->工程->部件->Microsoft Window Common Control 6.0 (后面为版本号)。再添加一个Picture控件,改名为picGreenbar。

  实现的代码如下:

Option Explicit

Private Sub Form_Load()
    Dim i As Integer
    Dim iFontHeight As Long
    Dim iBarHeight As Integer
    Dim j As Integer
    Dim itmX As ListItem
    Dim ColHead As ColumnHeader
    ListView1.ColumnHeaders.Add , , "This is Just a Simple Example"
    ListView1.ColumnHeaders(1).Width = 3000

    '添加一些实验数据
    For j = 1 To 33
        Set itmX = ListView1.ListItems.Add()
        itmX.Text = "This is item number " & CStr(j)
    Next j
   
    Me.ScaleMode = vbTwips
    picGreenbar.ScaleMode = vbTwips
    picGreenbar.BorderStyle = vbBSNone
    picGreenbar.AutoRedraw = True
    picGreenbar.Visible = False
    picGreenbar.Font = ListView1.Font
    iFontHeight = picGreenbar.TextHeight("b") + Screen.TwipsPerPixelY
    iBarHeight = (iFontHeight * 1)
    picGreenbar.Width = ListView1.Width
    '======
    picGreenbar.Height = iBarHeight * 2
    picGreenbar.ScaleMode = vbUser
    picGreenbar.ScaleHeight = 2
    picGreenbar.ScaleWidth = 1
    'draw the actual bars
    picGreenbar.Line (0, 0)-(1, 1), vbWhite, BF
    picGreenbar.Line (0, 1)-(1, 2), RGB(227, 241, 226), BF
    '======
    ListView1.PictureAlignment = lvwTile
    ListView1.Picture = picGreenbar.Image
End Sub

  代码量不多,不过很实用。

本文地址:http://com.8s8s.com/it/it44059.htm