在模块中 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 在窗体中: Private Sub MSHFlexGrid1_GotFocus() Oldwinproc = GetWindowLong(Me.hWnd, GWL_WNDPROC) SetWindowLong Me.hWnd, GWL_WNDPROC, AddressOf FlexScroll End Sub Private Sub MSHFlexGrid1_LostFocus() SetWindowLong Me.hWnd, GWL_WNDPROC, Oldwinproc End Sub 使用过很多次,好像还没发生过系统崩溃的显现. |
|
来自: 网络摘记 > 《MsFlexGrid》