Ir al contenido


Foto

¿Cómo detecto el movimiento del mouse?


  • Por favor identifícate para responder
15 respuestas en este tema

#1 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 13 noviembre 2008 - 01:29

Pues eso, necesito saber como detecto el movimiento del mouse.

Saludos.
  • 0

#2 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 13 noviembre 2008 - 01:36

Hola
Yo se cuando se esta moviendo por que tengo una flechita, si se mueve en la pantalla entonces se que se mueve. :D :D
Ah, no se a ti, pero a mi se me mueve solo aveces. :D
Saludos
  • 0

#3 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 13 noviembre 2008 - 01:39

pues si esos mouse opticos tienen vida propia jajaja...


¿Pero exactamente que quieres?, ¿no te sirve el onmousemove?
  • 0

#4 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 13 noviembre 2008 - 02:22

¿Pero exactamente que quieres?, ¿no te sirve el onmousemove?


Pues no, no me sirve, necesito determinar con un timer si el mouse está moviendose o no, si se mueve reinicia el conteo, si no avise al usuario que se ponga a trabajar :D :D.
  • 0

#5 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 13 noviembre 2008 - 02:25

Usa el GetCursorPos  :D
  • 0

#6 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 13 noviembre 2008 - 02:26

Usa el GetCursorPos  :D


Pues tampoco me sirve, eso sólo determina la "posición" del puntero :D :D
  • 0

#7 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 13 noviembre 2008 - 02:29

oye, andamos perezosos hoy, si tienes la posicion anterior y la nueva, entonces puedes determinar movimiento, como decia Albertico, todo es relativo mi querido amigo
  • 0

#8 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 13 noviembre 2008 - 02:29

He encontrado la solución, con un ApplicationEvents en su evento OnMessage:



delphi
  1. procedure Tincio.ApplicationEvents1Message(var Msg: tagMSG;
  2.  var Handled: Boolean);
  3. begin
  4. if
  5.  ((Msg.message >= WM_MOUSEFIRST) and (Msg.message <= WM_MOUSELAST))
  6.  or
  7.  (Msg.message >= WM_KEYFIRST) and (Msg.message <= WM_KEYLAST)
  8.  then
  9.    begin
  10.      Contador := 0;
  11.    end;
  12. end;



Saludos :D
  • 0

#9 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 13 noviembre 2008 - 02:29

::) No hay editar... mejor  :p

Por lo que tengo entendido esa funcion te permite saber la posicion X,Y del cursor en la pantalla, podrias jugar con el evento del timer comparando con el valor de la posicion anterior, algo asi  :D
  • 0

#10 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 13 noviembre 2008 - 02:33

::) No hay editar... mejor  :p


¿Que no puedes editar el mensaje? mmm, eso hay que verificarlo.

Saludos.
  • 0

#11 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 13 noviembre 2008 - 03:07

Yo puedo editar mis mensajes y como moderador el de los demas, no se con un usuario normal
  • 0

#12 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 13 noviembre 2008 - 04:36

Ya se puede modificar para los usuarios normales ;).

Saludos.
  • 0

#13 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 13 noviembre 2008 - 04:58

Ya se puede modificar para los usuarios normales ;).

Saludos.

Claro!!! y nosotros los peones sufriendo por ello  :p :p jejejeje...

Gracias  ;)
  • 0

#14 cHackAll

cHackAll

    Advanced Member

  • Administrador
  • 599 mensajes

Escrito 26 mayo 2009 - 09:31

He encontrado la solución, con un ApplicationEvents en su evento OnMessage...


No quiero ser arqueólogo pero me parece que la solución que presentas enecumene es lo mismo a utilizar el evento OnMouseMove + OnMouseUp + OnMouseDown de un TControl, sin embargo ambas soluciones funcionan con mensajes generados y enviados solo a la ventana respectiva en posiciones relativas a la misma.

Como comenta eduarcol, GetCursorPos ha de contener la posición absoluta del puntero con lo cual una revisión constante nos dirá si el puntero ha sido movido. También se podrí­a utilizar SetWindowsHookEx para detectar los mensajes (Ej. WM_MOUSEMOVE) de todas las ventanas, o en su defecto los eventos del mismo del ratón.

Lo anterior es solo una aclaración al hilo.
  • 0

#15 JoAnCa

JoAnCa

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 775 mensajes
  • LocationPinar del Río, Cuba

Escrito 26 mayo 2009 - 03:26

Hola enecumene
Tal vez lo que necesites sea esto http://delphi.about....bltip1104_4.htm
Es para saber el tiempo que la PC esta inactiva, pienso que esto te servirá para lo que quieres
:D
  • 0

#16 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 26 mayo 2009 - 05:25

Hola enecumene
Tal vez lo que necesites sea esto http://delphi.about....bltip1104_4.htm
Es para saber el tiempo que la PC esta inactiva, pienso que esto te servirá para lo que quieres
:D


Muy interesante el artí­culo muchas gracias José ;).

Saludos.
  • 0




IP.Board spam blocked by CleanTalk.