Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
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-05-2013
darkmaster360 darkmaster360 is offline
Miembro
NULL
 
Registrado: may 2013
Posts: 12
Poder: 0
darkmaster360 Va por buen camino
Coordenadas en delphi

Estaba intentando crear un autoclick y me preguntaba si se podría poner coordenadas, para clicar donde yo quiera, tenía este code antes:
Código Delphi [-]
procedure TForm1.Timer1Timer(Sender: TObject);
begin
SetCursorPos(X, Y);
Mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0 );
Mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0 );
end;

pero solo me dejaba cambiar las coordenadas en modo edición, ¿hay algún código para poder cambiarlas mientras lo usando?
Responder Con Cita
  #2  
Antiguo 10-05-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por darkmaster360 Ver Mensaje
...
¿hay algún código para poder cambiarlas mientras lo usando?
Hola darkmaster360, bienvenido a Club Delphi .

Como es costumbre con los que recién ingresan te invitamos a que leas nuestra guía de estilo.

En cuanto a tu consulta, claro que es posible cambiar las coordenadas en tiempo de ejecución, basta con asignar nuevos valores a las variables enviadas a la función SetWindowPos.

Pero, a priori veo que se te va a presentar un problema con la pérdida de foco que sufrirán los controles mediante los cuáles les asignas valores a las variables X e Y...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 11-05-2013
darkmaster360 darkmaster360 is offline
Miembro
NULL
 
Registrado: may 2013
Posts: 12
Poder: 0
darkmaster360 Va por buen camino
Muchas gracias ecfisa, no sabía el nombre de la función. También me surgió otra duda, ¿Se puede poner el ratón en el sitio que desee y al darle a una tecla, con la función Onkeydown, se queden guardadas las coordenadas?
Responder Con Cita
  #4  
Antiguo 11-05-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por darkmaster360 Ver Mensaje
¿Se puede poner el ratón en el sitio que desee y al darle a una tecla, con la función Onkeydown, se queden guardadas las coordenadas?
Hola darkmaster360.

Si, sin ningún problema. Por ejemplo:

Código Delphi [-]
implementation

var
  MousePos : TPoint;

procedure TForm1.FormCreate(Sender: TObject);
begin
  KeyPreview := True;
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
const
  MSG = 'Coordenadas actuales del mouse: %d %d'; 
begin
  if (ssCtrl in Shift) and (Key = VK_F1) then  // Ctrl+F1
    MousePos := Mouse.CursorPos;
  Caption := Format(MSG,[MousePos.X, MousePos.Y]); 
end;
La declaración de constante y la asignación a la propiedad Caption son a fín de que visualices la posición actual, es decir prescindibles.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 11-05-2013 a las 01:00:27. Razón: aclaración
Responder Con Cita
  #5  
Antiguo 11-05-2013
darkmaster360 darkmaster360 is offline
Miembro
NULL
 
Registrado: may 2013
Posts: 12
Poder: 0
darkmaster360 Va por buen camino
Hola ecfisa.

El código funciona bien

Ahora al pulsar el F1 (le cambie la tecla) se quedan las coordenadas, ¿habría alguna forma ahora de decirle a un timer que clickee en esas coordenadas?

Estuve buscando un poco en google pero no encontré nada solo vi algo de la función caption

Saludos.
Responder Con Cita
  #6  
Antiguo 12-05-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por darkmaster360 Ver Mensaje
...
¿habría alguna forma ahora de decirle a un timer que clickee en esas coordenadas?
Hola.

Si, agregando el código de tu primer mensaje:
Código Delphi [-]
implementation

var
  MousePos : TPoint;

procedure TForm1.FormCreate(Sender: TObject);
begin
  KeyPreview := True;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  SetCursorPos(MousePos.X, MousePos.Y);
  Mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0 );
  Mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 );
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
const
  MSG = 'Coordenadas actuales del mouse: %d %d'; 
begin
  if (ssCtrl in Shift) and (Key = VK_F1) then  // Ctrl+F1
    MousePos := Mouse.CursorPos;
  Caption := Format(MSG,[MousePos.X, MousePos.Y]); 
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #7  
Antiguo 12-05-2013
darkmaster360 darkmaster360 is offline
Miembro
NULL
 
Registrado: may 2013
Posts: 12
Poder: 0
darkmaster360 Va por buen camino
Hola ecfisa.

Ya está me funcionaba me faltaba añadir la línea:
Código Delphi [-]
SetCursorPos(MousePos.X, MousePos.Y);

y yo tenía:
Código Delphi [-]
SetCursosPos(X, Y);

puede que fuese eso pero ya esta solucionado, muchas gracias. Puedes cerrar el tema

Saludos
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
Iframe con coordenadas lKinGl PHP 2 21-05-2008 04:19:27
Coordenadas en el PaintBox fabiof2000 Gráficos 2 27-09-2006 10:08:03
pasar coordenadas gps a coordenadas builder iaav1 C++ Builder 3 03-07-2006 19:59:02
que componente de delphi me permite hacer una eje de coordenadas permanaente rls Gráficos 2 02-07-2006 00:27:05
Pintar una elipte dada dos coordenadas, sin utilizar la funcion que viene en delphi Richard Gráficos 4 09-05-2004 18:35:51


La franja horaria es GMT +2. Ahora son las 19:51:40.


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