將這一段程式放到 公共的模組中
Public Declare Function PeekMessage Lib "user32" Alias "PeekMessageA" (lpMsg As Msg, ByVal hWnd As Long, ByVal wMsgFilterMin As Long, ByVal wMsgFilterMax As Long, ByVal wRemoveMsg As Long) As Long
Public Declare Function WaitMessage Lib "user32" () As Long
Public bCancel As Boolean
Public Const WM_MOUSEWHEEL = 522
Public Sub ProcessMessages(sGrid1 As MSFlexGrid)
Dim Message As Msg
Do While Not bCancel
'WaitMessage ‘等待消息
If PeekMessage(Message, sGrid1.hWnd, WM_MOUSEWHEEL, WM_MOUSEWHEEL, PM_REMOVE) Then
If Message.wParam < 0 Then ' 向上
'Me.Top = Me.Top + 240
If sGrid1.TopRow < sGrid1.Rows Then
sGrid1.TopRow = sGrid1.TopRow + 1
End If
Else '向下??
If sGrid1.TopRow > 1 Then
sGrid1.TopRow = sGrid1.TopRow - 1
End If
End If
End If
DoEvents
Loop
End Sub
然後 在每一支程式 的From_load() 加入 此段
'加入此段 即可使用滑鼠滾輪的功能了
Me.AutoRedraw = True
Call ProcessMessages(Grid1)