怎麼設置 MSHFlexGrid 每一行,每一列的顏色?

tmj 2003-11-28 08:13:49
怎麼設置 MSHFlexGrid 每一行,每一列的顏色?
...全文
83 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
zmrok 2003-12-01
  • 打赏
  • 举报
回复
楼上的,怎么设置,可以给出代码吗?
wintergoes 2003-11-29
  • 打赏
  • 举报
回复
给每列设定一个颜色啊。
zmrok 2003-11-29
  • 打赏
  • 举报
回复
请问楼上各位,怎么才可以让每列自动显示不同的颜色(不用指向它就可以)
lilylamb 2003-11-29
  • 打赏
  • 举报
回复
学习
dlpseeyou 2003-11-29
  • 打赏
  • 举报
回复
.row=行
.col=列
.CellBackColor = 颜色
lihonggen0 2003-11-29
  • 打赏
  • 举报
回复

循环设置
.CellBackColor
.CellForeColor
两个属性
lihonggen0 2003-11-29
  • 打赏
  • 举报
回复
'*********************************************************
'* 名称: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

Abecedarian 2003-11-29
  • 打赏
  • 举报
回复
这是我以前回答过的
http://expert.csdn.net/Expert/topic/2446/2446567.xml?temp=.2311823

仔细看看,反过来用旧可以列颜色不同
tmj 2003-11-29
  • 打赏
  • 举报
回复
to cuizm(射天狼)
十分謝謝!!!

MSFlexGrid1.Redraw = False
可以使格子的變化看不到
tmj 2003-11-29
  • 打赏
  • 举报
回复
to cuizm(射天狼)

我的列數和行數多,MSFlexGrid1.CellBackColor = vbRed
表格的變化是能看的見的
射天狼 2003-11-29
  • 打赏
  • 举报
回复
Option Explicit

Dim lngOldRow As Long

Private Sub Form_Load()
Dim i As Long

MSFlexGrid1.Rows = 10: MSFlexGrid1.Cols = 5

For i = 1 To MSFlexGrid1.Rows - 1
MSFlexGrid1.TextMatrix(i, 1) = "aaaa" & i
Next

MSFlexGrid1.SelectionMode = flexSelectionByRow
End Sub

Private Sub MSFlexGrid1_Click()
MSFlexGrid1.Redraw = False
Dim i As Long, lngNewRow As Long

lngNewRow = MSFlexGrid1.Row
MSFlexGrid1.Row = lngOldRow
For i = 1 To MSFlexGrid1.Cols - 1
MSFlexGrid1.Col = i
MSFlexGrid1.CellBackColor = vbWhite
Next

MSFlexGrid1.Row = lngNewRow
For i = 1 To MSFlexGrid1.Cols - 1
MSFlexGrid1.Col = i
MSFlexGrid1.CellBackColor = vbRed
Next
MSFlexGrid1.Redraw = True

lngOldRow = lngNewRow
End Sub

byj2001329 2003-11-29
  • 打赏
  • 举报
回复
.row=2
.col=2
.CellBackColor = &H8000000F
hemeijun81 2003-11-29
  • 打赏
  • 举报
回复
我只改变过某一行的颜色
visualzuo 2003-11-28
  • 打赏
  • 举报
回复
MSHFLEXGRID
顶!
wu_yongcai 2003-11-28
  • 打赏
  • 举报
回复
微软的这个不好用
为什么不用VSFlexGrid呢?

7,789

社区成员

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

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