Mover el mouse on vbKeyRButton

Me gustaría que me ayudaran con mi código de Visual Basic 6.0
Soy muy muy novato en el tema de visual basic, pero sé programar algo en "C"
Lo que me gustaría saber es lo siguiente:
1- Como se hace para mover el ratón (SetCursorPos) a la posición POR, Y al apretar el botón derecho del ratón (vbKeyRButton)
2- ¿Cómo sé que hay que editar en un módulo y que hay que editar en un formulario?

1 Respuesta

Respuesta
1
Te dejo este código para mover el ratón y pinchar en un punto determinado.
Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long
Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Sub pincharPunto(ByVal x As Integer, ByVal y As Integer)
    Dim nada As Long
    nada = SetCursorPos(x, y)
    mouse_event 6, x, y, vbLeftButton, 0
End Sub
En este caso deberás ponerlo en un módulo porque las instrucciones 'declare' no pueden ir en formularios (creo recordar que es así).
De todas formas, lo que te aconsejo es que escribas en módulos todos los procedimientos y funciones que puedan ser comunes a varios formularios, los procedimientos en los que se basen los anteriores y, en general, procedimientos dedicados a una función determinada: generar facturas, emitir listados, etc...
Por lo general tiendo más a escribir en módulos que en formularios. Si necesito tocar un objeto de un formulario (p.e.: Barra de progreso), prefiero pasarla como parámetro al procedimiento y guardarlo en un módulo.
En los formularios suelo dejar su código obligatorio relacionado con sus objetos y la validación de sus datos.
Es una costumbre y no una obligación.
Muchas gracias por tu respuesta santiagomf pero me gustaría poder hacer que cuando apreté el botón derecho del ratón, se me moviera el cursor a alguna coordenada.
Muchas gracias por tu respuesta, muy completa!
Saludos!
Me habían comentado que el visual basic 2010 era mucho más fácil y mejor para aprender, y lo he instalado y he conseguido que el cursor se mueva!
El código es el siguiente:
Public Class Form1
    Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
        If e.KeyCode = Keys.F1 Then
            Cursor.Position = New Point(250, 500)
        End If
    End Sub
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    End Sub
End Class
Public Class Form1
    Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
        If e.KeyCode = Keys.LButton Then            Cursor.Position = New Point(250, 500)        End If
    End Sub
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    End SubEnd Class
Se mueve solamente al apretar una tecla del teclado, lo que yo quiero es que funcione al apretar un botón del ratón (Keys.RButton), pero cuando pongo eso, "no me hace caso".
Me falta añadir algo seguramente. ¿Me podrían ayudar?
Saludos y mil gracias!
Yo trabajo con VB6, no con la versión 2010, pero supongo que será similar.
En la versión 6, yo haría lo que quieres con el evento 'MouseDown', pero lo tendrás que definir sobre todos y cada uno de los objetos de tu formulario.
No se me ocurre otra forma de hacerlo. Mira a ver si te vale.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas