Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-04-2004
DarkMedel DarkMedel is offline
Miembro
 
Registrado: feb 2004
Ubicación: Chile
Posts: 13
Poder: 0
DarkMedel Va por buen camino
Question Saber la posición del mouse al interior de un canvas....

Hola a tod@s:
Estoy haciendo un componente que deciende de TImage y me gustaria agregarle un metodo donde pudiera recuperar la posicion donde esta el mouse sobre el componente. ya que quiero colocar la posicion en que se encuentra el mouse sobre el canvas. Parecido a lo que hace el Paint. Pero lo quiero hacer con el origen en la esquina inferior izquierda.. pero no encuentro como conocer la posicion del mouse... si alguien pudiese ayudar se le agradeceria muchiso... y los incluieria en mis oraciones
__________________
Cuando el sol ilumine tu camino... no dudes en recorrerlo veloz mente..!!!
Responder Con Cita
  #2  
Antiguo 09-04-2004
Nadie Nadie is offline
Miembro
 
Registrado: ago 2003
Ubicación: http://manchasenlapared.blogspot.com
Posts: 75
Poder: 21
Nadie Va por buen camino
para saber la posicion del mouse seria asi

var
pos: tpoint;
begin
getcursorpos(pos);
end;

donde pos.x es el eje x y pos.y es el eje y
Responder Con Cita
  #3  
Antiguo 09-04-2004
DarkMedel DarkMedel is offline
Miembro
 
Registrado: feb 2004
Ubicación: Chile
Posts: 13
Poder: 0
DarkMedel Va por buen camino
Exclamation

Lo que pasa es que ese me entraga la posicion del mouse dentro de la pantalla yo quiero obtenerlo solo para el Timage como lo hace por el metodo onmousemove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

pero por forma interna... en el fondo no se... por inventar algo...

imagen.getmousepos(pos);
x:=pos.x;
y:=pos.Y;

pero las posiciones asociadas al canvas del Timage no de la posicion de la pantalla
__________________
Cuando el sol ilumine tu camino... no dudes en recorrerlo veloz mente..!!!
Responder Con Cita
  #4  
Antiguo 09-04-2004
DarkMedel DarkMedel is offline
Miembro
 
Registrado: feb 2004
Ubicación: Chile
Posts: 13
Poder: 0
DarkMedel Va por buen camino
Arrow

onmousemove(Sender: TObject; Shift: TShiftState; X, Y: Integer);En el fondo como puedo conocer el contenido de las variables X e Y del objeto Timage asociado a este metodo
__________________
Cuando el sol ilumine tu camino... no dudes en recorrerlo veloz mente..!!!
Responder Con Cita
  #5  
Antiguo 09-04-2004
Nadie Nadie is offline
Miembro
 
Registrado: ago 2003
Ubicación: http://manchasenlapared.blogspot.com
Posts: 75
Poder: 21
Nadie Va por buen camino
con getcursorpos como dijiste tenes la posicion del cursor en pantalla pero si le restas la posicion del formulario y la del componente tenes la posicion del mouse en relacion a la del componente, osea x es igual a pos.x-(left+componente.left) y lo mismo para el eje x, pero con onmousemove podes guardar en una variable global el valor de x e y de ese procedimiento y eso es mas sencillo, pero es mejor el otro metodo, por lo menos para mi

saludos
Ariel
Responder Con Cita
  #6  
Antiguo 09-04-2004
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
Para convertir las coordenadas de pantalla a coordenadas relativas a un control (TImage en este caso), Delphi ya cuenta con un método: ClientToScreen.

// Saludos
Responder Con Cita
  #7  
Antiguo 24-08-2015
Avatar de mg1821
mg1821 mg1821 is offline
Miembro
 
Registrado: may 2003
Ubicación: lima
Posts: 69
Poder: 21
mg1821 Va por buen camino
Como escriben por ahí picando al componente, en este caso el image1, por ejemplo, luego al procedimiento onmousemove y ahí en los parametros ves el X e Y. conviertes con inttostr(X) para pasarlo a por ejm un label y listo.

Label1.Caption := inttostr(X);

__________________
mg1821
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


La franja horaria es GMT +2. Ahora son las 02:04:05.


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