Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-01-2006
Avatar de Luciano M.
Luciano M. Luciano M. is offline
Miembro
 
Registrado: nov 2005
Posts: 16
Poder: 0
Luciano M. Va por buen camino
Question Posicion del mouse

Hola, me gustaria saber si alguien sabe como conseguir las coordenadas del mouse fuera de la aplicacion de delphi, es decir sobre el escritorio. Gracias!!
__________________
- Nada es la maravilla de Japon! -
Responder Con Cita
  #2  
Antiguo 10-01-2006
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
Casi juraría que con Mouse.CursorPos

// Saludos
Responder Con Cita
  #3  
Antiguo 10-01-2006
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
He estado buscando un código que no recuerdo de dónde descargue y finalmente lo he encontrado, puesto que viene a proposito.

Código Delphi [-]

implementation

{$R *.dfm}

function PointToPointDist(Ax, Ay, Bx, By: double): double;
begin
  Result := sqrt(sqr(Bx - Ax) + sqr(By - Ay));
end;


function MinDistPointLine(Px, Py, Ax, Ay, Bx, By: double): double;
var
  q: double;
begin
  if (Ax = Bx) and (Ay = By) then
  begin
    {Point to point}
    Result := PointToPointDist(Px, Py, Ax, Ay);
  end
  else
  begin
    {Minimum}
    q := ((Px - Ax) * (Bx - Ax) + (Py - Ay) * (By - Ay)) / (sqr(Bx - Ax) + sqr(By - Ay));
    {Limit q to 0 <= q <= 1}
    if q < 0 then
      q := 0;
    if q > 1 then
      q := 1;
    {Distance}
    Result := PointToPointDist(Px, Py, (1 - q) * Ax + q * Bx, (1 - q) * Ay + q * By);
  end;
end;


procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var  a:double;
begin
 Label1.Caption:=inttostr(x)+'  '+inttostr(y);
 a:=MinDistPointLine(x, y, 100, 100, 200, 200);

 //Here you choice the width of line - if single use 0 .
 //In my case I use <2 ( mean 0 and 1 ) because I have a 3 pixels width .
 //This mean 1-0-1 . 0 is the line center .

 if a<2  then Label2.Caption:='The mouse is over the line' else
 Label2.Caption:='The mouse isn''t over the line';
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Canvas.Pen.Width:=3;
  Canvas.MoveTo(100, 100);
  Canvas.LineTo(200, 200);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 {x1:=100;
 y2:=100;
 x2:=200;
 y2:=200; }
end;

end.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #4  
Antiguo 10-01-2006
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
He estado probando la opción que cita Román y no hay comparación me quedo con ella.

Código Delphi [-]
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
Label1.Caption:=IntToStr(Mouse.CursorPos.y)+','+IntToStr(Mouse.CursorPos.x);
end;

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #5  
Antiguo 11-01-2006
CHiCoLiTa CHiCoLiTa is offline
Miembro
 
Registrado: may 2003
Posts: 102
Poder: 21
CHiCoLiTa Va por buen camino
Creo que se refiere fuera de la propia aplicacion
Para eso tendrias que capturar el hook del raton
Pasate por Trucomania y mira en el numero 414, que creo que es lo que buscas
Responder Con Cita
  #6  
Antiguo 11-01-2006
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
Bueno pero, Luciano no habló de movimiento del ratón, sólo saber las coordenadas del cursor, y ésas en todo momento, esté donde esté el ratón, están dadas por Mouse.CursorPos.

// Saludos
Responder Con Cita
  #7  
Antiguo 11-01-2006
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
Bueno pero, Luciano no habló de movimiento del ratón, sólo saber las coordenadas del cursor, y ésas en todo momento, esté donde esté el ratón, están dadas por Mouse.CursorPos.
Tal cual, el método Mouse.CursorPos utiliza la winapi GetCursorPos (No se porque siempre utilicé la api en lugar del objeto mouse ), que obtiene la posición del mouse sin importar si el puntero esta sobre una ventana del mismo proceso

Cita:
The GetCursorPos function retrieves the cursor's position, in screen coordinates.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #8  
Antiguo 11-01-2006
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
Cita:
Empezado por delphi.com.ar
(No se porque siempre utilicé la api en lugar del objeto mouse )
La verdad es que yo también usé GetCursorPos y sí sé porqué: pasó mucho tiempo antes de que me enterase de la existencia del objeto Mouse

// Saludos
Responder Con Cita
  #9  
Antiguo 11-01-2006
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
La verdad es que yo también usé GetCursorPos y sí sé porqué: pasó mucho tiempo antes de que me enterase de la existencia del objeto Mouse
es lo que sospecho
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
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
Saber la posición del mouse al interior de un canvas.... DarkMedel Gráficos 6 24-08-2015 20:29:31
problemas con mouse ahkimpech Linux 1 29-07-2005 01:10:03
Posición del mouse en la pantalla cone220 Varios 16 03-07-2005 01:16:29
Posición Columna en ListView Igna OOP 2 02-11-2004 13:40:14
mouse AngelMarvin Windows 2 20-07-2004 07:16:35


La franja horaria es GMT +2. Ahora son las 23:10:07.


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