MSHFlexGrid控件的滚动条不随滚轮一起动,很不好用。怎么办?
还有那个滚动条也不好控制,不像IE的定位这么准确,还要鼠标UP了才会滚动。有没办法实现像IE的滚动条这么方便。
FlexGird没有DataSource之类的连接ADO控件的属性,是不是显示的数据都是一条一条的加进去的?
请大家帮忙。

解决方案 »

  1.   

    滚轮用这个吧~
    http://community.csdn.net/Expert/topic/3408/3408708.xml
      

  2.   

    用叶帆的那个控件.
    控制MSHFlexGrid1.TopRow应该可以
      

  3.   

    谢谢两位,我去看看。
    上面说错了,不是FlexGird, 是FlexCell表格设计器,网上下的表格控件。
      

  4.   

    Private Sub MSHFlexGrid1_GotFocus()       Oldwinproc = GetWindowLong(Me.hwnd, GWL_WNDPROC)
             SetWindowLong Me.hwnd, GWL_WNDPROC, AddressOf FlexScroll
    End SubPrivate Sub MSHFlexGrid1_LostFocus()
           SetWindowLong Me.hwnd, GWL_WNDPROC, OldwinprocEnd Sub
    Public Function FlexScroll(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
         Select Case wMsg
             Case WM_MOUSEWHEEL
                Select Case wParam
                      Case -7864320     '向下
                            SendKeys "{PGDN}"                  Case 7864320       '向上
                            SendKeys "{PGUP}"
                End Select
        End Select
        FlexScroll = CallWindowProc(Oldwinproc, hwnd, wMsg, wParam, lParam)
    End Function
      

  5.   

    上面是我程序里的代码,还有APIPublic Oldwinproc   As Long
    Public Declare Function SetWindowLong Lib "USER32" Alias "SetWindowLongA" (ByVal hwnd As Long, _
     ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
     
    Public Declare Function CallWindowProc Lib "USER32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, _
    ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
     
    Public Declare Function GetWindowLong Lib "USER32" Alias "GetWindowLongA" (ByVal hwnd As Long, _
     ByVal nIndex As Long) As Long
      

  6.   

    http://community.csdn.net/Expert/topic/3559/3559015.xml?temp=7.22903E-03
    http://community.csdn.net/Expert/topic/3264/3264958.xml?temp=.2414514