| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1820 人关注过本帖
标题:VSFLEXGRID控件的问题
只看楼主 加入收藏
chen3bing
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:507
专家分:104
注 册:2008-11-12
结帖率:91.22%
收藏
已结贴  问题点数:10 回复次数:4 
VSFLEXGRID控件的问题
图片附件: 游客没有浏览图片的权限,请 登录注册

我使用vsflexgrid控件,想实现 MSFlexGrid 控件单数行背景为白色,双数的行背景为黄色,
代码如下:
With VSFlexGrid1
   
   
    For i = 0 To .Rows - 1

        If i Mod 2 = 0 Then
        .CellBackColor = &HC0E0FF    ' 浅黄
        Else
        .CellBackColor = vbWhite ' 白色
        End If
    Next i
End With
可是不灵。请高手指教。
第二个问题,如何隐藏那个水平滚动条?
第三个问题,如何实现选中一个单元格使其背景色为蓝色。谢谢!

[此贴子已经被作者于2019-6-2 12:21编辑过]

搜索更多相关主题的帖子: VSFLEXGRID 控件 With If End 
2019-06-02 12:15
chen3bing
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:507
专家分:104
注 册:2008-11-12
收藏
得分:0 
顶起来。现在第一个问题搞好了,找到了一个函数。
Public Sub SetRowColor(ByRef MSHFlexGrid As Object)
    Dim J, i, objName
    objName = TypeName(MSHFlexGrid)

    If StrConv(Trim(objName), vbUpperCase) <> "VSFLEXGRID" Then
        Exit Sub
    End If

    MSHFlexGrid.FillStyle = 1

    For i = 1 To MSHFlexGrid.Rows - 1
        MSHFlexGrid.Row = i

        If i Mod 2 = 0 Then
            MSHFlexGrid.Col = 0
            MSHFlexGrid.ColSel = MSHFlexGrid.Cols - 1
            MSHFlexGrid.CellBackColor = &H80000018
        End If

    Next i
   
    For i = 1 To MSHFlexGrid.Rows - 1
        MSHFlexGrid.Row = i
        MSHFlexGrid.Col = 0
        MSHFlexGrid.CellBackColor = &H8000000F

    Next i

    MSHFlexGrid.FillStyle = 0
    MSHFlexGrid.Row = 0
    MSHFlexGrid.Col = 0
End Sub
其他两个问题还没解决。
2019-06-03 16:40
wufuzhang
Rank: 9Rank: 9Rank: 9
来 自:广州
等 级:贵宾
威 望:21
帖 子:206
专家分:1346
注 册:2017-8-9
收藏
得分:10 
回复 楼主 chen3bing
程序代码:
Option Explicit

Dim OldVSFRow As Integer
Dim OldVSFCol As Integer

Private Sub Form_Load()
  With VSFlexGrid1
       .Cols = 20
       .Rows = 20
       .ScrollBars = flexScrollBarVertical
       .BackColorAlternate = &HC0E0FF
       .AllowBigSelection = False
       .AllowSelection = False
  End With
  
  OldVSFRow = 1
  OldVSFCol = 1
End Sub

Private Sub VSFlexGrid1_Click()
  If OldVSFRow Mod 2 = 1 Then
     VSFlexGrid1.Cell(flexcpBackColor, OldVSFRow, OldVSFCol) = vbWhite
  Else
     VSFlexGrid1.Cell(flexcpBackColor, OldVSFRow, OldVSFCol) = &HC0E0FF
  End If
  VSFlexGrid1.CellBackColor = vbBlue
  OldVSFRow = VSFlexGrid1.RowSel
  OldVSFCol = VSFlexGrid1.ColSel
End Sub


不经历千百遍的调试,怎能体会成功时那一刹那的喜悦。
2019-06-04 09:40
yzys
Rank: 1
等 级:新手上路
威 望:1
帖 子:8
专家分:0
注 册:2005-1-14
收藏
得分:0 
谢谢分享


[此贴子已经被作者于2019-6-8 00:02编辑过]

2019-06-08 00:01
dasdaa
Rank: 1
等 级:新手上路
威 望:2
帖 子:40
专家分:0
注 册:2019-12-24
收藏
得分:0 
谢谢分享!
2021-11-20 15:51
快速回复:VSFLEXGRID控件的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018772 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved