Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Duda con con el evento MouseDown (https://www.clubdelphi.com/foros/showthread.php?t=60535)

NEG1414 05-10-2008 08:54:59

Duda con con el evento MouseDown
 
Buenas (Haber si me explico)

He creado un componente Timagen.
En este componente se cargaran tres imagenes.

1. La imagen predeterminada.

2. Se cargara esta imagen cuando se pulse el boton Izquierdo del boton y se mostrara mientras siga pulsado el boton
izquierdo del raton


3. Se cargar esta imagen cuando se deje de pulsar le boton Izquierdo del Raton


Lo intente con el evento MouseDown pero al pulsar el boton izquierdo del raton me carga directamente la 3 imagen aunque mantenga el boton del raton pusado.

Alguna Idea Gracias.

coso 05-10-2008 09:43:00

Hola, deberias poner el codigo para que veamos donde esta el error. De todas maneras, puedes cargar imagen1 en onmousedown y imagen3 en el evento onmouseup. Saludos.

Lepe 05-10-2008 12:28:25

Para la segunda imagen, no puedes cargar la imagen en el mismo TImage, sino, por ejemplo, cargarlo en otro TImage quizás con algo de transparencia y en el evento MouseMove de ese Timage, actualizar sus coordenadas, así parece que la segunda imagen "está pegada al ratón en una operación de drag and drop"

Puesto que el ratón está sobre la segunda imagen, no puedes hallar las coordenadas donde estás situado en la primera imagen al soltar el botón izquierdo, necesitarás usar la Api GetCursorPos y después mediante Timage1.ScreenToClient pasar esas coordenadas al primer Timage.

Supongo que quieres incrustar la segunda imagen manteniendo la primera de ellas, por tanto, no puedes usar Timage.picture.LoadFromFile, ya que eso borrará la primera imagen que haya. Deberás usar algunas de las funciones del canvas, quizás Timage.picture.canvas.BitBlit o alguna parecida.

No sé si me he explicado o no.... aquí tienes una forma de copiar un trozo de imagen en otra.

NEG1414 05-10-2008 15:00:40

Gracias los dos me han sido de gran ayuda


La franja horaria es GMT +2. Ahora son las 17:01: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