Search Tools Links Login

Fun with MouseWheel


Visual Basic 6, or VB Classic

Just intercepting MouseWheel event with API. Make an empty project (standard exe) and paste code.

Original Author: MasterBlaster_PL

Code

Private Const PM_REMOVE = &H1
Private Type POINTAPI
x As Long
y As Long
End Type
Private Type Msg
hWnd As Long
Message As Long
wParam As Long
lParam As Long
time As Long
pt As POINTAPI
End Type
Private 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
Private Declare Function WaitMessage Lib "user32" () As Long
Private bCancel As Boolean
Private Const WM_MOUSEWHEEL = 522
Private Sub ProcessMessages()
Dim Message As Msg
Do While Not bCancel
  WaitMessage 'Wait For message and...
  If PeekMessage(Message, Me.hWnd, WM_MOUSEWHEEL, WM_MOUSEWHEEL, PM_REMOVE) Then '...when the mousewheel is used...
   If Message.wParam < 0 Then '...scroll up...
    Me.Top = Me.Top + 240
   Else '... or scroll down
    Me.Top = Me.Top - 240
   End If
  End If
  DoEvents
Loop
End Sub
Private Sub Form_Load()
Me.AutoRedraw = True
Me.Print "Please use now mouse wheel to move this form."
Me.Show
ProcessMessages
End Sub
Private Sub Form_Unload(Cancel As Integer)
bCancel = True
End Sub

About this post

Posted: 2003-06-01
By: ArchiveBot
Viewed: 210 times

Categories

Visual Basic 6

Attachments

No attachments for this post


Loading Comments ...

Comments

No comments have been added for this post.

You must be logged in to make a comment.