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

王朝other·作者佚名  2007-07-31
窄屏简体版  字體: |||超大  

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

崔占民

EMAIL:CUIZM@163.COM

首先在窗口中添加一个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

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航