用代码实现ListView控件的行间隔颜色!
2024-07-21 02:24:39
供稿:网友
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
代码量不多,不过很实用。