鼠标滚轮支持、VB中数据表格类控件的滚轮支持方法
2014-09-09 13:50
447 查看
鼠标滚轮支持、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
'''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
相关文章推荐
- 让VB应用程序的控件支持鼠标滚轮滚屏
- 为Silverlight控件添加鼠标滚轮支持的小类
- 解决VB开发工具不支持鼠标滚轮的问题
- 让VB开发环境支持鼠标滚轮
- MFC CListCtrl控件隐藏滚动条但是保留用鼠标滚轮滚动效果的方法
- c# dev控件 gridcontrol 数据跟随鼠标滚轮滚动也可以编辑
- 为Silverlight控件添加鼠标滚轮支持
- c# dev控件 gridcontrol 数据跟随鼠标滚轮滚动也可以编辑
- VB6.0对鼠标滚轮不支持的解决方法
- 让VB开发环境支持鼠标滚轮
- [愿创]让DBGrid支持鼠标滚轮浏览数据,及去除垂直滚动条!
- VB6.0对鼠标滚轮不支持的解决方法
- 让VB应用程序支持鼠标滚轮
- 为Silverlight控件添加鼠标滚轮支持的小类
- WPF ItemsControl 控件支持鼠标滚轮滑动
- VB6.0对鼠标滚轮不支持的解决方法[转]已经测试work
- 让VB应用程序支持鼠标滚轮
- [导入]让VB应用程序支持鼠标滚轮
- [导入]让VB应用程序支持鼠标滚轮
- VB6.0对鼠标滚轮不支持的解决方法