Autor Tema: [SOLUCIONADO] Problemas de SetCursorPos y resolución de pantalla.  (Leído 5019 veces)

0 Usuarios y 1 Visitante están viendo este tema.

m[a]rkus

  • Bytes
  • *
  • Mensajes: 39
  • Reputación: +0/-0
  • A veces un palo es simplemente un palo.
    • Ver Perfil
    • Qvanos
Hola, bueno la verdad estoy haciendo un programa y tengo un problema, yo necesito poner el foco del mouse en un lugar especifico y lo logro pero solo con mi resolucion, ya que cuando pongo una resolucion mas alta o mas baja simplemente no esta el mouse donde tiene que estar, tienes alguna idea de como puedo arreglar esto ? alguna funcion que modifique las coord dependiendo de la resolucion ?

Gracias

PD: El formulario siempre esta en el centro de la pantalla. Gracias
« última modificación: Agosto 13, 2010, 01:59:06 pm por m[a]rkus »
Existen dos maneras de ser feliz en esta vida, una es hacerse el idiota y la otra serlo.


xkiz ™

  • Moderador Global
  • Gigabyte
  • *****
  • Mensajes: 283
  • Reputación: +30/-11
    • Ver Perfil
    • xkiz ™
Re:Problemas de SetCursorPos y resolución de pantalla.
« Respuesta #1 en: Agosto 13, 2010, 12:19:03 pm »
(Screen.Width / 15) corresponde al ancho de la pantalla
(Screen.Height / 15)  corresponde al alto de la pantalla

Código: (vb) [Seleccionar]
Private Type POINTAPI
    X As Long
    Y As Long
End Type

Private Declare Function SetCursorPos Lib "user32" (ByVal X As Long, ByVal Y As Long) As Long

Private Sub Command1_Click()
Dim Mouse As POINTAPI
Mouse.X = Screen.Width
Mouse.Y = Screen.Height

Call SetCursorPos(Mouse.X, Mouse.Y)
End Sub
« última modificación: Agosto 13, 2010, 12:36:14 pm por xkiz »

ssccaann43

  • Terabyte
  • *****
  • Mensajes: 970
  • Reputación: +97/-58
    • Ver Perfil
    • Sistemas Nuñez, Consultores y Soporte, C.A.
Re:Problemas de SetCursorPos y resolución de pantalla.
« Respuesta #2 en: Agosto 13, 2010, 12:21:18 pm »
Groso xKiz...!
Miguel Núñez.

m[a]rkus

  • Bytes
  • *
  • Mensajes: 39
  • Reputación: +0/-0
  • A veces un palo es simplemente un palo.
    • Ver Perfil
    • Qvanos
Re:Problemas de SetCursorPos y resolución de pantalla.
« Respuesta #3 en: Agosto 13, 2010, 12:31:42 pm »
Gracias bro xkiz pero no es exactamente lo que busco, veras necesito hacer clic en una ventana que siempre esta en el centro de la pantalla, pero que las coord del SetCursorPos siempre cambian debido a la resolución, entonces hay varias soluciones la mejor que se me ocurre es alguna API que me diga las coord de la ventana esa y una vez que tenga esas coord solo tendria que sumarle las coord de llegar a donde quiero. No se si se entienda ?

Gracias
Existen dos maneras de ser feliz en esta vida, una es hacerse el idiota y la otra serlo.


m[a]rkus

  • Bytes
  • *
  • Mensajes: 39
  • Reputación: +0/-0
  • A veces un palo es simplemente un palo.
    • Ver Perfil
    • Qvanos
Re:Problemas de SetCursorPos y resolución de pantalla.
« Respuesta #4 en: Agosto 13, 2010, 12:40:10 pm »
Bueno con frmPrincipal.ScaleHeight & frmPrincipal.ScaleWidth obtengo unas coord pero que no son las correctas al menos en pixels para poder usarlas con "SetCursorPos" a ver si logro convertirlas
Existen dos maneras de ser feliz en esta vida, una es hacerse el idiota y la otra serlo.


xkiz ™

  • Moderador Global
  • Gigabyte
  • *****
  • Mensajes: 283
  • Reputación: +30/-11
    • Ver Perfil
    • xkiz ™
Re:Problemas de SetCursorPos y resolución de pantalla.
« Respuesta #5 en: Agosto 13, 2010, 12:45:22 pm »
yo sinceramente lo haria con (Form.Left Form.Top, Form.scaleWidth ó Form.ScaleHeight).
creo que para usar scaleWidth o scaleHeight hay que dividirlo por 15 (Form.ScaleWidth / 15) o  (Form.ScaleHeight / 15)  pero si queres Api, aca tenes:

Código: (vb) [Seleccionar]
Private Type RECT
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
End Type

Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long

Private Sub Command1_Click()
Dim Win As RECT

Call GetWindowRect(Me.hwnd, Win)

Debug.Print "api: GetWindowRect: " & Win.Left, Win.Top, Win.Right, Win.Bottom
End Sub

m[a]rkus

  • Bytes
  • *
  • Mensajes: 39
  • Reputación: +0/-0
  • A veces un palo es simplemente un palo.
    • Ver Perfil
    • Qvanos
Re:Problemas de SetCursorPos y resolución de pantalla.
« Respuesta #6 en: Agosto 13, 2010, 01:54:08 pm »
xbiz muchisimas gracias, era eso lo que buscaba, en serio te lo agradezco lo que pueda hacer por usted y por miguel aqui estoy el tiene mi msn, sin ningun problema. Este foro lo que mas me gusta es la ayuda incondicional que dan ante todo, bueno que pasen muy buen dia y repito lo que puedan necesitar diganmelo si esta en mis manos lo hare.

Existen dos maneras de ser feliz en esta vida, una es hacerse el idiota y la otra serlo.