VB6: Get mouse coordinates in pixels

May-30th-2009


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

 

Public 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

 

Public 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

Add A Comment