Coordenadas del mouse en la pantalla

aljamar
21 de Enero del 2005
Hola amigos, necesito el código que me indique en qué posición de la pantalla (x, y o Left, Top) se encuentra el puntero del mouse en un momento determinado.

Gracias.

mvallejos
21 de Enero del 2005
Se puede hacer con una API y una estructura

Public Type POINTAPI
x As Long
y As Long
End Type

Public Declare Function GetCursorPos Lib "user32" Alias "GetCursorPos" (lpPoint As POINTAPI) As Long

En un timer, podés llamar a la API constantemente, con la precaución, de que la API te retorna el el registro POINTAPI las coordenadas en Pixeles, vas a tener que convertirlas a twips.

Private Sub Timer1_Tiner()
Dim PA as POINTAPI
Dim PosX as integer
Dim PosY as integer

GetCursorPos PA
Posx = PA.x * Screen.TwipsperPixelX
Posy = PA.y * Screen.TwipsperPixelY

End Sub

Saludos

l_island
21 de Enero del 2005
Crea un poryecto con un formulario y dos cajas de texto, luego pegale este código y ejecuta.

Option Explicit

Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Type POINTAPI
X As Long
Y As Long
End Type

Dim MiPos As POINTAPI

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim OK As Long

OK = GetCursorPos(MiPos)
Text1.Text = MiPos.X
Text2.Text = MiPos.Y
End Sub

Al mover el raton sobre form1 te indicará las coordenadas del puntero.

Saludos!!
l_island

aljamar
21 de Enero del 2005
Muchas Gracias a ambos por la colaboración.