• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 227
  • Last Modified:

How to get x and y coordinates of cursor..

In a module, I have:

Type PointApi
  x As Long
  y As Long
End Type

Declare Function GetCursorPos Lib "user32" (IpPoint As PointApi) As Long
In a cmdButton_Click, I have

Private Button1_Click()
Dim p As PointApi
Dim xp As Long
Dim yp As Long
xp = GetCursorPos(p)
yp = GetCursorPos(p)
MsgBox xp & ", " & yp          ‘<---  no matter where I click, I get 1, 1

End Sub

Also, I would like to get the Button1.Top and Button1.Left as well.  Thank you in advance for your input.

Mike Eghtebas
Mike Eghtebas
2 Solutions
I dont know what you want to acheive with the command button, however, using the MouseDown event you can get the precise location of the mouse using the integrated X and Y variables:

Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
'where X and Y are the mouse location
'do your stuff
End Sub

Try using this code in the command button.

Dim p As PointApi

Call GetCursorPos(p)
MsgBox p.x & ", " & p.y
Mike EghtebasDatabase and Application DeveloperAuthor Commented:
Thank you very much for good directions I have been receiving from you.  

Thank you for your solution.


Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now