Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Validar coordenadas del mouse en un frm

Estas en el tema de Validar coordenadas del mouse en un frm en el foro de Visual Basic clásico en Foros del Web. Hola a todos Alguno de uds sabe como se validan las coordenadas del mouse para que no se salgan de una ventana de un formulario ...
  #1 (permalink)  
Antiguo 12/10/2005, 12:16
 
Fecha de Ingreso: enero-2004
Mensajes: 118
Antigüedad: 20 años, 3 meses
Puntos: 0
Pregunta Validar coordenadas del mouse en un frm

Hola a todos


Alguno de uds sabe como se validan las coordenadas del mouse para que no se salgan de una ventana de un formulario cualquera ????



Gracias
  #2 (permalink)  
Antiguo 12/10/2005, 13:27
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Pregunta

Cita:
Iniciado por vats
Hola a todos


Alguno de uds sabe como se validan las coordenadas del mouse para que no se salgan de una ventana de un formulario cualquera ????



Gracias
Que no se salga del Formulario???? cómo así, restringirlo???
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 12/10/2005, 15:43
 
Fecha de Ingreso: enero-2004
Mensajes: 118
Antigüedad: 20 años, 3 meses
Puntos: 0
Asi es David


Que unicamente pueda desplazarse dentro del formulario y si intento moverlo mas alla no lo pueda hacer ya sea para arriba, abajo un lado ó el otro
  #4 (permalink)  
Antiguo 15/10/2005, 11:15
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
De acuerdo

Cita:
Iniciado por vats
Asi es David


Que unicamente pueda desplazarse dentro del formulario y si intento moverlo mas alla no lo pueda hacer ya sea para arriba, abajo un lado ó el otro
Así pana:
Código:
 
Private Type RECT
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
End Type
Private Declare Sub ClipCursor Lib "user32" (lpRect As Any)
Sub CursorLiberate()
Dim Client As RECT
Client.Top = 0
Client.Bottom = InPixelsY(Screen.Height)
Client.Left = 0
Client.Right = InPixelsX(Screen.Width)
ClipCursor Client
End Sub
Sub CursorLimit()
Dim Client As RECT
Client.Top = InPixelsY(Top)
Client.Bottom = InPixelsY(Top) + InPixelsY(Height)
Client.Left = InPixelsX(Left)
Client.Right = InPixelsX(Left) + InPixelsX(Width)
ClipCursor Client
End Sub
Function InPixelsX(ByVal TwipsX As Long) As Long
InPixelsX = TwipsX / Screen.TwipsPerPixelX
End Function
Function InPixelsY(ByVal TwipsY As Long) As Long
InPixelsY = TwipsY / Screen.TwipsPerPixelY
End Function
Private Sub cmdEnd_Click()
Unload Me
End Sub
Private Sub Form_Load()
BorderStyle = 0
End Sub
Private Sub Form_Resize()
CursorLimit
End Sub
Private Sub Form_Unload(Cancel As Integer)
CursorLiberate
End Sub
Le puse que sea BorderStyle=0 porque funciona mejor (y el botón lógicamente que ya lo sabrás... )
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 18/10/2005, 09:18
 
Fecha de Ingreso: enero-2004
Mensajes: 118
Antigüedad: 20 años, 3 meses
Puntos: 0
Que tal David


Gracias por el codigo. Lo voy a probar y te comento que paso.
  #6 (permalink)  
Antiguo 18/10/2005, 09:42
 
Fecha de Ingreso: enero-2004
Mensajes: 118
Antigüedad: 20 años, 3 meses
Puntos: 0
Que tal de nuevo David



Ya he probado el codigo que colocaste en el foro, en windows xp funciona excelentemente bien, pero........... en windows 98 no funciona
tendra que ver la libreria que colocaste, bueno seguire buscando, de cualquier manera muchas gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:10.