鼠标的滚球好象不能让MSFleGrid的滚轴上下滚动?

解决方案 »

  1.   

    是的,有两种方法应该可以解决该问题
    1、安装鼠标驱动程序
    2、用API监控鼠标的动作第2种可以在api的分类中查找有关系统钩子的API(hook)
    或者在msdn中也有“子类化”的方法解决
      

  2.   

    无语……好像是第n次发了Public Const GWL_WNDPROC = (-4)
    Public Const WM_COMMAND = &H111
    Public Const WM_MBUTTONDOWN = &H207
    Public Const WM_MBUTTONUP = &H208
    Public Const WM_MOUSEWHEEL = &H20APublic Oldwinproc As Long
    Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, _
     ByVal nIndex As Long, ByVal dwNewLong As Long) As LongPublic 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 LongPublic Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, _
     ByVal nIndex As Long) As LongPublic Function FlexScroll(ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
    '支持滚轮的滚动 Yu 2004-5-10 15:33
             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 FunctionPrivate Sub Mfg1_GotFocus()     '2004-5-10
         Oldwinproc = GetWindowLong(Me.hWnd, GWL_WNDPROC)
         SetWindowLong Me.hWnd, GWL_WNDPROC, AddressOf FlexScrollEnd SubPrivate Sub Mfg1_LostFocus()    SetWindowLong Me.hWnd, GWL_WNDPROC, OldwinprocEnd Sub
      

  3.   

    楼上的,也看到你的这个帖子好几回了,呵呵
    其实你用的sendkeys效果不理想啊,SendKeys "{PGUP}" 还不如SendKeys "{UP}"
    因为滚动起来效果很难看,而且改变了当前的row
    效果比较理想的方法是mshflexgrid.toprow进行加减,这样滚动起来就像支持滚轮的控件
    如listview的效果了