mshflexgrid ,当鼠标移到到该行时,正行会变另一种颜色?

a3985656 2004-09-08 05:14:54
点击到该行变色也可以啊? 请问如何实现?
...全文
171 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
northwolves 2004-09-08
  • 打赏
  • 举报
回复
Option Explicit
Private Sub Form_Load()
Dim i As Integer, j As Integer
With MSFlexGrid1
.Rows = 10
.Cols = 4
For i = 1 To 9
.TextMatrix(i, 0) = "第 " & i & " 行"
For j = 1 To 3
.TextMatrix(0, j) = "第 " & j & " 列"
.TextMatrix(i, j) = i & "," & j
Next
Next
.SelectionMode = flexSelectionByRow
.BackColorSel = vbGreen
.ForeColorSel = vbRed
End With
End Sub
Private Sub MSFlexGrid1_Mousemove(Button As Integer, Shift As Integer, x As Single, y As Single)
With MSFlexGrid1
.row = .MouseRow
.Col = 0
.ColSel = .Cols - 1
End With
End Sub
tztz520 2004-09-08
  • 打赏
  • 举报
回复
要自己一行行地上色,移开后还要把颜色换回来,这样做效率非常低呀,换其它控件吧.
aohan 2004-09-08
  • 打赏
  • 举报
回复
上面的写法还不错
cpio 2004-09-08
  • 打赏
  • 举报
回复
Dim oldrow As Integer
Private Sub Form_Load()
With MSHFlexGrid1
.Cols = 20
.Rows = 20
End With
End Sub

Private Sub MSHFlexGrid1_Click()
Dim row As Integer
row = MSHFlexGrid1.MouseRow
For i = 1 To 19
MSHFlexGrid1.Col = i
MSHFlexGrid1.CellBackColor = vbRed
Next
MSHFlexGrid1.row = oldrow
For i = 1 To 19
MSHFlexGrid1.Col = i
MSHFlexGrid1.CellBackColor = vbWhite
Next
oldrow = row
End Sub
bm1408 2004-09-08
  • 打赏
  • 举报
回复
还是用CTRLIST这个很容易得到你想要的!

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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