万分紧急!?各位高手:在VB的几个Grid控件中我想指定任意一行或一列的背景颜色用哪种Grid控件能实现,怎么实现?????

emit 2003-08-23 06:48:46
用那种属性或方法来实现,请给我举个例子。谢谢!!!!!!
...全文
48 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lihonggen0 2003-08-25
  • 打赏
  • 举报
回复
'*********************************************************
'* 名称:FlexRedraw
'* 功能:表格的标题行(首行)的格式化
'* 用法:FlexRedraw(控件名)
'*********************************************************
Public Function FlexRedraw(F As MSHFlexGrid) As String
With F
.Redraw = False '禁止重画,防止闪动
.BackColorFixed = RGB(190, 218, 178) '标题行背景色
.Row = 0 '设置标题行文字的对其方式
.Col = 0
.ColSel = .Cols - 1
.CellForeColor = vbBlue '标题行文字颜色
.CellAlignment = 4 '对其方式为中间中间
.ScrollTrack = True '移动滚动条的同时数据也滚动
For I = .FixedRows To .Rows - 1 '单双行表格条纹背景色显示
.Row = I '选择第I行
.Col = .FixedCols
.ColSel = .Cols - 1
If I / 2 = Int(I / 2) Then '判断是单是双
.CellBackColor = RGB(224, 248, 224) '双行的底色
Else
.CellBackColor = RGB(240, 248, 224) '单行的底色
End If
Next I

.Row = 1
.Col = 1
.ColSel = .Cols - 1
.Redraw = True '允许重画,显示表格
End With
End Function
liul17 2003-08-25
  • 打赏
  • 举报
回复
可以使用 msflexgrid 或 mshflexgrid 均可
msflexgrid.row=1 '1是你指定的行

for i = 0 to msflexgrid.cols -1
msflexgrid.col = i
msflexgrid.cellbackcolor = vbblue '设为蓝色
next
vbcool 2003-08-24
  • 打赏
  • 举报
回复
很高兴我能帮助你,我在最近的一段时间里也做了类似的程序,我采用的是Microsoft Hierarchical FlexGrid Control 6.0(OLE DB)

MSHFLexGrid 名.Row = 行
MSHFLexGrid 名.Col = 列
MSHFLexGrid 名.CellForeColor = 颜色

OK,你试一试,不过该控件不适合读太大的数据库!
tanyx 2003-08-24
  • 打赏
  • 举报
回复
flexgrid 很简单的,grid1.cellbackcolor,我经常用。
zhshop 2003-08-23
  • 打赏
  • 举报
回复
好象刚刚看到过一个这样的问题,你可以用MSHFLEXGRID,有一个属性是CELLBACKCOLOR,就行了,不过是某一个单元格的,所以呢,你还得再写循环来赋这个行或者列的CELLBACKCOLOR属性值。
不知道是否帮到你

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧