Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: koopa2 en 22 Septiembre 2006, 05:01 am



Título: que en un label se vean pasisiones del mouse?
Publicado por: koopa2 en 22 Septiembre 2006, 05:01 am
hola gente , como ago para que un label se vean las posisiones de un mause?

saludos y gracias


Título: Re: que en un label se vean pasisiones del mouse?
Publicado por: GroK en 22 Septiembre 2006, 16:36 pm
Wenas

A ver, pon un label y un timer. En las Declaraciones del General pones:

Código:
Option Explicit
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
   
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

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

Nota: este codigo fue sacado de http://www.devx.com/vb2themax/Tip/19124

Ahora en el form_load pones timer1.interval = 10, o el numero q sea, ese va a ser el intervalo de actualizacion. Y en el timer1_timer pones:

Código:
Label1.Caption = "X = " & MouseX & "  Y = " & MouseY

Y listo, ahi te saldra.

Saludos


Título: Re: que en un label se vean pasisiones del mouse?
Publicado por: NYlOn en 23 Septiembre 2006, 23:52 pm
No entendi para que usas las funciones =S. Haciendo lo siguiente tambien funciona:
Código:
    Dim PT As POINTAPI
    GetCursorPos PT
    Me.Caption = PT.x & "-" & PT.y

Saludos.-


Título: Re: que en un label se vean pasisiones del mouse?
Publicado por: GroK en 24 Septiembre 2006, 01:02 am
Tienes razon  :P mucho mas corto, quedaria una cosa asi:

Código:
Option Explicit

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

Private Sub Form_Load()
Timer1.Interval = 10
End Sub

Private Sub Timer1_Timer()
Dim PT As POINTAPI
    GetCursorPos PT
    Label1.Caption = PT.X & "-" & PT.Y
End Sub

Saludos y gracias  ;)