devxlogo

The status of mouse buttons

Visual Basic lets you test the state of mouse buttons only inside a MouseDown, MouseMove, or MouseUp event procedure. To determine the current state of mouse buttons you can use one of the following functions:

Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As _    IntegerFunction LeftButton() As Boolean    LeftButton = (GetAsyncKeyState(vbKeyLButton) And &H8000)End FunctionFunction RightButton() As Boolean    RightButton = (GetAsyncKeyState(vbKeyRButton) And &H8000)End FunctionFunction MiddleButton() As Boolean    MiddleButton = (GetAsyncKeyState(vbKeyMButton) And &H8000)End Function

If you prefer, you can use the following function, which returns the state of all three buttons as a bit-coded field, in the same format as the Button argument passed to mouse event procedures:

Function MouseButton() As Integer    If GetAsyncKeyState(vbKeyLButton) < 0 Then        MouseButton = 1    End If    If GetAsyncKeyState(vbKeyRButton) < 0 Then        MouseButton = MouseButton Or 2    End If    If GetAsyncKeyState(vbKeyMButton) < 0 Then        MouseButton = MouseButton Or 4    End IfEnd Function

Charlie has over a decade of experience in website administration and technology management. As the site admin, he oversees all technical aspects of running a high-traffic online platform, ensuring optimal performance, security, and user experience.

See also  Five Early Architecture Decisions That Quietly Get Expensive

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.