MouseCoord




Private Type POINTAPI
X As Long
Y As Long
End Type
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Declare Function ScreenToClient Lib "user32" (ByVal hWnd As Long, _
lpPoint As POINTAPI) As Long

' Get mouse X coordinates in pixels

'

' If a window handle is passed, the result is relative to the client area

' of that window, otherwise the result is relative to the screen


Function MouseX(Optional ByVal hWnd As Long) As Long
Dim lpPoint As POINTAPI
GetCursorPos lpPoint
If hWnd Then ScreenToClient hWnd, lpPoint
MouseX = lpPoint.X
End Function

' Get mouse Y coordinates in pixels

'

' If a window handle is passed, the result is relative to the client area

' of that window, otherwise the result is relative to the screen


Function MouseY(Optional ByVal hWnd As Long) As Long
Dim lpPoint As POINTAPI
GetCursorPos lpPoint
If hWnd Then ScreenToClient hWnd, lpPoint
MouseY = lpPoint.Y
End Function












( mousecoord.html )- by Paolo Puglisi - Modifica del 17/12/2023