鼠标滚轮支持、VB中数据表格类控件的滚轮支持方法

鼠标滚轮支持、VB中数据表格类控件的滚轮支持方法。

'''MSHFLEXGRID,DATAGRID,FLEXGRID等。

'''以下代码放到模块中

Option Explicit

Public Const GWL_WNDPROC = (-4)
Public Const WM_COMMAND = &H111
Public Const WM_MBUTTONDOWN = &H207
Public Const WM_MBUTTONUP = &H208
Public Const WM_MOUSEWHEEL = &H20A
           
Public 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


Public 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 Function

'支持滚轮鼠标API---------------------------------
   
'
'   '将下列代码写到表格控件的GotFocus事件中
'   Private Sub 控件名称_GotFocus()
'           Oldwinproc = GetWindowLong(Me.hWnd, GWL_WNDPROC)
'           SetWindowLong Me.hWnd, GWL_WNDPROC, AddressOf FlexScroll
'   End Sub
'
'   '将下列代码写到表格控件的LostFocus事件中
'   Private Sub 控件名称_LostFocus()
'           SetWindowLong Me.hWnd, GWL_WNDPROC, Oldwinproc
'   End Sub

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值