05-04-15, 03:24 AM
25-09-15, 06:15 AM
PHP كود :
Option Explicit
Private Type LONG_JOINED
Value As Long
End Type
Private Type LONG_SPLIT
LowValue As Integer
HighValue As Integer
End Type
Private LONG_JOINED As LONG_JOINED
Private LONG_SPLIT As LONG_SPLIT
Public Function SubclassProc( _
ByRef hWnd As Long, _
ByRef uMsg As Long, _
ByRef wParam As Long, _
ByRef lParam As Long, _
ByVal dwRefData As Long) As Long
Const WM_MOUSEWHEEL As Long = &H20A&
Const WM_MOUSEHWHEEL As Long = &H20E& 'Requires Vista or later.
Dim Sum As Integer
LONG_JOINED.Value = wParam
LSet LONG_SPLIT = LONG_JOINED
Select Case uMsg
Case WM_MOUSEWHEEL
With VScroll1
If .Enabled Then
Sum = .Value - LONG_SPLIT.HighValue \ 12
If 0 <= Sum And Sum <= .Max Then .Value = Sum
End If
End With
Case WM_MOUSEHWHEEL
With HScroll1
If .Enabled Then
Sum = .Value + LONG_SPLIT.HighValue \ 12
If 0 <= Sum And Sum <= .Max Then .Value = Sum
End If
End With
Case Else
SubclassProc = DefSubclassProc(hWnd, uMsg, wParam, lParam)
End Select
End Function