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
代码量不多,不过很实用。 
|