Páginas: [1]
|
 |
|
Autor
|
Tema: Como ocultar el raton del todo (Leído 302 veces)
|
Nichas
Desconectado
Mensajes: 12
|
wenas, a ver si alguien me ayuda en esto, que no consigo ocultar el raton del todo o mejor dixo nada de nada con el winsock tengo este codigo: 'este en el cliente
Private sub cmdHideCursor() On Error Resume Next ws.SendData "CHide" end sub
'y este en el server
Private Declare Function ShowCursor Lib "user32" (ByVal bShow As Long) As Long
Private Sub ws_DataArrival(ByVal bytesTotal As Long) On Error Resume Next Dim dat As String ws.GetData dat, vbString If dat = "CHide" Then Result = ShowCursor(False) ws.SendData "Cursor Hidden" else end if end sub
acias  Saludos
|
|
|
|
« Última modificación: 07 Junio 2008, 20:14 por Nichas »
|
En línea
|
|
|
|
|
Lambda
|
Segun MSDN
This function sets an internal display counter that determines whether the cursor should be displayed. The cursor is displayed only if the display count is greater than or equal to 0. If a mouse is installed, the initial display count is 0. If no mouse is installed, the display count is –1.
si le pones FALSE lo seguira mostrando
ponle -1 y prueba
|
|
|
|
|
En línea
|
|
|
|
Nichas
Desconectado
Mensajes: 12
|
Segun MSDN
This function sets an internal display counter that determines whether the cursor should be displayed. The cursor is displayed only if the display count is greater than or equal to 0. If a mouse is installed, the initial display count is 0. If no mouse is installed, the display count is –1.
si le pones FALSE lo seguira mostrando
ponle -1 y prueba gracias por responder  pero ya lo probé pero no va, y en el google no encuentro nada  saludos
|
|
|
|
|
En línea
|
|
|
|
Xerok1!
Desconectado
Mensajes: 229
|
Pues a mi si me lo oculta (aunque solo en la ventana del vb)...´ No sé a que será debido...
Saludos
|
|
|
|
|
En línea
|
[Firma]Esperando haber si acaba el concurso de firmas y la pongo[/Firma]
|
|
|
Nichas
Desconectado
Mensajes: 12
|
Pues a mi si me lo oculta (aunque solo en la ventana del vb)...´ No sé a que será debido...
Saludos Si eso es lo k me pasa a mi solo en la ventana del vb y nada mas xD aver si lo consigo  saludos
|
|
|
|
|
En línea
|
|
|
|
Xerok1!
Desconectado
Mensajes: 229
|
EDITO: Pon el formulario maximizado atope transparente haber si te deja,y con un timer le das foco (aunque este invisible) Supongo que te irá así un saludo
|
|
|
|
« Última modificación: 07 Junio 2008, 21:05 por Xerok1! »
|
En línea
|
[Firma]Esperando haber si acaba el concurso de firmas y la pongo[/Firma]
|
|
|
Nichas
Desconectado
Mensajes: 12
|
EDITO: Pon el formulario maximizado atope transparente haber si te deja,y con un timer le das foco (aunque este invisible) Supongo que te irá así un saludo no habia caido en eso  acias saludos
|
|
|
|
|
En línea
|
|
|
|
cΔssiΔnі
Desconectado
Mensajes: 510
|
EDITO: Pon el formulario maximizado atope transparente haber si te deja,y con un timer le das foco (aunque este invisible) Supongo que te irá así un saludo
Preferiblemente usa el api SetWindowPos, te evitaras el timer y te irá como deseas...
|
|
|
|
|
En línea
|
|
|
|
Xerok1!
Desconectado
Mensajes: 229
|
Preferiblemente usa el api SetWindowPos, te evitaras el timer y te irá como deseas... Cierto lo había pensado, esconderlo en una esquinita y fuera pero bueno no es lo que pedía y ya di una solucion  .. También se podría quitar el icono del cursor (remplazarlo) pero eso no te lo digo con exactitud que no lo he probado..  Un saludo!
|
|
|
|
|
En línea
|
[Firma]Esperando haber si acaba el concurso de firmas y la pongo[/Firma]
|
|
|
|
cobein
|
Aca hay otra manera, un poco precaria pero funcional 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)
Private Sub Form_Load() Dim tr As RECT
tr.Left = Screen.Width / 15 tr.Top = Screen.Height / 15 tr.Right = tr.Left + 1 tr.Bottom = tr.Top + 1 ClipCursor tr
End Sub
Private Sub Form_Unload(Cancel As Integer) ClipCursor ByVal 0& End Sub
|
|
|
|
|
En línea
|
|
|
|
gulabyte
Desconectado
Mensajes: 25
|
Yo uso la clase cCursor para hacer los rollos del cursor, es mucho más limpio y no tienes porque hacer chapucillas de maximizar y hacer transparente y demás. Te da varias opciones como conseguir las coordenadas del cursor, establecerlo en unas coordenadas concretas, encima de un command, restringirlo a un area concreta, a un textbox... y por supuesto hacer desaperecer el cursor. Yo tengo una funcion creada (de esas miscellaneous (= muy friki)) que lo que hace es cargar una imagen en una esquina de la pantalla que tiene fondo de cárcel y meter el cursor ahí, aunque te esfuerzes moviendo el ratón lo que quieras el cursor no sale de donde está  . Os dejo el codigo de la clase, ya sabéis en la ventanita de proyectos de la derecha, arriba klik derecho y agregar una clase, luego pegáis el código. ' -- X (Get/Let): Situa el cursor en la posición X ' -- Y (Get/Let): Situa el cursor en la posición Y ' -- Colocar: Pone el cursor en el centro de un control. ' -- Restringir: Restringir el cursor a un área determinada.
Option Explicit DefLng A-Z
Private Type POINTAPI x As Long y As Long End Type Private Type RECT Izquierda As Long Arriba As Long Derecha As Long Abajo As Long End Type
Private CurVisible As Boolean Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long Private Declare Function ClientToScreen Lib "user32" (ByVal hwnd As Long, lpPoint As POINTAPI) As Long Private Declare Function ClipCursor Lib "user32" (lpRect As RECT) As Long Private Declare Function ShowCursor Lib "user32" (ByVal bShow As Long) As Long
Public Property Get x() As Long
Dim tmpPoint As POINTAPI Call GetCursorPos(tmpPoint) x = tmpPoint.x
End Property
Public Property Let x(ByVal vNewValue As Long)
Call SetCursorPos(vNewValue, y)
End Property
Public Property Get y() As Long
Dim tmpPoint As POINTAPI Call GetCursorPos(tmpPoint) y = tmpPoint.y
End Property
Public Property Let y(ByVal vNewValue As Long)
Call SetCursorPos(x, vNewValue)
End Property
Public Sub Colocar(ctl As Control)
'envía el cursor al centro del control indicado.
Dim pnt As POINTAPI Dim xx As Long Dim yy As Long
pnt.x = pnt.y = 0 'Obtener coordenadas Izquierda-Arriba de la esquina del control Call ClientToScreen(ctl.hwnd, pnt) xx = pnt.x + (ctl.Width \ 2) yy = pnt.y + (ctl.Height \ 2) Call SetCursorPos(xx, yy)
End Sub
Public Sub Restringir(ToCtl As Object)
Dim tmpRect As RECT Dim pt As POINTAPI
With ToCtl
If TypeOf ToCtl Is Form Then pt.x = 0 pt.y = 0 Call ClientToScreen(.hwnd, pt) tmpRect.Izquierda = pt.x tmpRect.Arriba = pt.y pt.x = FrmJail.Width pt.y = FrmJail.Height Call ClientToScreen(.hwnd, pt) tmpRect.Derecha = pt.x tmpRect.Abajo = pt.y ElseIf TypeOf ToCtl Is Screen Then tmpRect.Izquierda = 0 tmpRect.Arriba = 0 tmpRect.Derecha = (.Width \ Screen.TwipsPerPixelX) tmpRect.Abajo = (.Height \ Screen.TwipsPerPixelY) Else pt.x = 0 pt.y = 0 Call ClientToScreen(.hwnd, pt) tmpRect.Izquierda = pt.x tmpRect.Arriba = pt.y pt.x = .Width pt.y = .Height Call ClientToScreen(.hwnd, pt) tmpRect.Abajo = pt.y tmpRect.Derecha = pt.x End If Call ClipCursor(tmpRect)
End With
End Sub
Private Sub Class_Initialize()
CurVisible = True
End Sub
Public Property Get Visible() As Boolean
Visible = CurVisible
End Property
Public Property Let Visible(ByVal vNewValue As Boolean)
CurVisible = vNewValue Call ShowCursor(CurVisible)
End Property
en general yo creo que se entiende y es fácil de usar. Lo único usa la misma función para hacer que el cursor no se vea, el "ShowCursor" puede que te siga sin funcionar. Salu10
|
|
|
|
|
En línea
|
|
|
|
|
Páginas: [1]
|
|
|
|