Microsoft KB Archive/114777

= How to Retrieve Mouse Cursor Coordinates in Visual Basic =

Article ID: 114777

Article Last Modified on 10/29/2003

-

APPLIES TO


 * Microsoft Visual Basic 3.0 Professional Edition
 * Microsoft Visual Basic 3.0 Professional Edition

-



This article was previously published under Q114777



SUMMARY
Applications such as Paint programs use functions from the Windows API (Application Programming Interface) to retrieve Mouse coordinates that in turn help the user design and paint their picture. This article shows by example how to use the Windows API GetCursorPos function to retrieve the mouse coordinates from Visual Basic.



MORE INFORMATION
The GetCursorPos function returns a structure that contains the current position of the caret. To call the GetCursorPos function from Visual Basic, you have to set up a Type structure. This is shown in the following example.

Step-by-Step Example
 Start a new project in Visual Basic. Form1 is created by default. From the File Menu, choose New Module.  Add the following code in the General Declarations section of the new module: Type POINTAPI ' This holds the logical cursor information x As Integer y As Integer End Type

Declare Sub GetCursorPos Lib "User" (lpPoint As POINTAPI)

 Add a timer control (Timer1) to the form.  Add the following code to the Form_load event: Sub Form_Load timer1.Interval = 100 End Sub

  Add the following code to the Timer1_Timer event: Sub Timer1_Timer Dim rect As POINTAPI ' Get the current mouse cursor coordinates: Call GetCursorPos(rect) FORM1.Cls ' Print out current position on the form: Print "Current X = " & rect.x     Print "Current Y = " & rect.y   End Sub

 Run the Program. You should be able to see the cursor coordinates change whenever you move the mouse around the screen.</li></ol>

<div class="references_section">