vblistview添加行颜色

vblistview添加行颜色,第1张

你好!vblistview添加行颜色如下,1、先在PictureBox控件里画图,之后将其加载到Listview中

        2、给单元格/Shape添加颜色后,复制Range和Shapes对象给剪贴板,然后保存成图片,需要WinAPI

        3、对ListItem子类化后进行重绘。这是原来Vb用的方法,vba里貌似没人用

下面的方法1、2与上面的方法2相似,方法3即上面的方法3。当然还可以通过调用整个控件hdc在内存中作图,但和方法3一样需要调用WinAPI

一、改变颜色

在VB6的ListView控件中,可以改变项目及其子项的前景色、背景色。实现方法如下

(1)在窗体上布置一个ListView控件

(2)窗体代码如下

Option Explicit

Private Sub Form_Load()

Dim itemX As ListItem

With ListView1

.View = lvwReport

.ColumnHeaders.Add , , "类别"

.ColumnHeaders.Add , , "品名1"

.ColumnHeaders.Add , , "品名2"

Set itemX = .ListItems.Add(, , "水果")

itemX.SubItems(1) = "苹果"

itemX.SubItems(2) = "香蕉"

ChangeForeColor itemX, &H8000& '墨绿色

Set itemX = .ListItems.Add(, , "饮料")

itemX.SubItems(1) = "果汁"

itemX.SubItems(2) = "可乐"

ChangeForeColor itemX, vbRed '红色

Set itemX = .ListItems.Add(, , "文具")

itemX.SubItems(1) = "铅笔"

itemX.SubItems(2) = "橡皮"

ChangeForeColor itemX, vbBlue '蓝色

End With

End Sub

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

' 修改ListView 项的前景色颜色

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

Private Sub ChangeForeColor( _

ByVal item As ListItem, _

ByVal NewColor As Long)

'设置项的颜色

item.ForeColor = NewColor

'设置所有子项的颜色

Dim subItem As ListSubItem

For Each subItem In item.ListSubItems

subItem.ForeColor = NewColor

Next

End Sub

ListView.setOnItemClickListener(new OnItemClickListener() {public void onItemClick(AdapterView<?>adapterView, View item, int position, long time) { item.setBackgroundColor(Color.WHITE)//设置你想要的高亮颜色,在取消的时候再设置一下颜色就可以}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11013270.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存