Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-07-2007
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Movimiento del mouse

Hola a todos, la verdad es que tengo mucho tiempo de no visitar el club por cuestines de tiempo, pero bueno vuelvo en busca de ayuda. Alguien me podría dar una ayuda para detectar el movimiento del mouse fuera de la ventana de mi aplicación. Lo que necesito es medir en todo momento la distancia que tiene la posición actual del mouse con respecto a los bordes de mi ventana. de antemando agradezco su ayuda.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #2  
Antiguo 26-07-2007
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Lo que necesitas hacer es un hook del tipo WH_MOUSE, fíjate si esto te es de utilidad: http://www.clubdelphi.com/foros/showthread.php?t=36672

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 26-07-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿Y no bastaría con un timer?

// Saludos
Responder Con Cita
  #4  
Antiguo 26-07-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por roman
¿Y no bastaría con un timer?

// Saludos
Perdon amigo roman, pero un timer te permite conocer la distancia del mouse de los bordes de la ventana.

Cita:
Empezado por D&W
Alguien me podría dar una ayuda para detectar el movimiento del mouse fuera de la ventana de mi aplicación. Lo que necesito es medir en todo momento la distancia que tiene la posición actual del mouse con respecto a los bordes de mi ventana.
Salud OS.

Edito. pero si te permite saberlo EN TODO MOMENTO,
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #5  
Antiguo 26-07-2007
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por roman
¿Y no bastaría con un timer?
Si quiere una medición real, tipo Mouse Odometer, puede perderse algunos fragmentos del movimiento con un timer.


Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #6  
Antiguo 26-07-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Sí, creo que me pasé de escueto . Pones, por decir algo, en el evento OnTimer:

Código Delphi [-]
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Caption := Format('(%d, %d)', [Abs(Mouse.CursorPos.X - Left), Abs(Mouse.CursorPos.Y - Top)]);
end;

No será en todo momento, pero puede acercarse bastante

// Saludos
Responder Con Cita
  #7  
Antiguo 26-07-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¡Ah! Ni hablar. Si se trata de eso entonces sí se requiere un hook.

// Saludos
Responder Con Cita
  #8  
Antiguo 27-07-2007
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Les agradezco la ayuda, pero creo que lo que me vendría mejor sería el hook por lo que intento hacer, disminuir o aumentar la transparencia de una ventana dependiendo de la distancia del mouse hacia esa ventana. (como lo hace la ventana que te aparece ahora en word 2007 cuando estás editando texto)
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #9  
Antiguo 27-07-2007
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Código Delphi [-]
procedure TForm1.Timer1Timer(Sender: TObject);
var Point, Distance: TPoint; Value: Cardinal;
begin
 GetCursorPos(Point);
 Point := ScreenToClient(Point);
 Distance := Classes.Point(0, 0);
 if Point.X > Width then
  Distance.X := Point.X - Width
 else
  if Point.X < 0 then
   Distance.X := Point.X * -1;
 if Point.Y > Height then
  Distance.Y := Point.Y - Height
 else
  if Point.Y < 0 then
   Distance.Y := Point.Y * -1;
 Value := (Distance.X + Distance.Y) div 2;
 if Value > 230 then Value := 230;
 AlphaBlendValue := 255 - Value; // AlphaBlend := True; Timer1.Interval := ?;
end;
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Movimiento por la paz gluglu La Taberna 0 31-01-2007 13:26:13
Movimiento de un Timage gontxalo Gráficos 3 06-08-2005 00:47:27
Movimiento por Tabla dinamicamente zugazua2001 OOP 1 05-10-2004 05:11:46
Algoritmo de movimiento Antigol Varios 16 23-12-2003 12:04:42
Movimiento de Form ChristianS Varios 2 04-06-2003 16:57:40


La franja horaria es GMT +2. Ahora son las 12:11:34.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi