mshflexgrid + Text 输入以搞定,但是在滚动mshflexgrid 时内容滚动了但text 不会滚动呀,这样text就会错误的出现在哪里。
我试过用scroll 事件,当滚动时把 text.visible=flase 但滚动回来时要怎么让 text.visible=true呀!请高手帮忙呀。行了就给分。有两种一是上下滚动一是左右

解决方案 »

  1.   

    编辑MSHFlexGrid的,click事件,让TEXT到当前窗格
      

  2.   

    我当时也遇到过这样的情况,我的方法是:当用户滚动时将TextBox框隐藏(Text1.Visible=False),然后用户在那一个格里回车又出现TextBox框来编辑,这样就不会错了。
      

  3.   

    Private Sub MSFlexGrid1_Scroll()
        With MSFlexGrid1
            Text1.Visible = .RowIsVisible(.Row)
            If Text1.Visible Then
                Text1.Move .CellLeft + .Left, .CellTop + .Top, .CellWidth, .CellHeight
                Text1.SetFocus
            End If
        End With
    End Sub
      

  4.   

    cuizm(射天狼) 
    首先谢谢你,上下滚动时可以用,左右滚动时用ColIsVisible(.col) 但是我要怎么判断是左右滚动还是上下滚动呀。
    Private Sub CeHFlex_Scroll()
    With CeHFlex
        TextSL.Visible = .ColIsVisible(.Col)
        'TextSL.Visible = .RowIsVisible(.Row)
        If TextSL.Visible Then
           Call TextSLMove
           TextSL.SetFocus
        End If
        
    End With
    End Sub   
    左右和上下滚动搞定就给分了
      

  5.   

    才看到你回的贴子,我真晕了,你不会举一反三吗?!!
    不要老做田鸭,否则没有提高~~~~~~~Private Sub MSFlexGrid1_Scroll()
        With MSFlexGrid1
            If .ColIsVisible(.Col) And .RowIsVisible(.Row) Then
                Text1.Visible = True
                Text1.Move .CellLeft + .Left, .CellTop + .Top, .CellWidth, .CellHeight
                Text1.SetFocus
            Else
                Text1.Visible = False
            End If
        End With
    End Sub
      

  6.   

    主要不大懂.colisvisible属性的意思。
    (RowIsVisible 属性返回或设置一个值,决定一个指定行是否可见)书上是这么写的
    以前我用 .RowIsVisible(3) 这样去隐藏第三行老是出错,提示属性无效。
    能说说吗?
    谢谢了