Delphi - deseo arrastrar con el mouse una TImage

 
Vista:

deseo arrastrar con el mouse una TImage

Publicado por FER (26 intervenciones) el 03/11/2004 19:30:53
Hola!! Estoy necesitando saber si es posible , por ejemplo colocar 3 o cuatro images, y despues moverlas a mi antojo dentro del form,( cuando el programa está corriendo), arrastrándolas con el mouse. Hay alguna propiedad ? no sé. Estoy apostando a que alguien me dé una orientación.
gracias a quien pueda darme una manito

Fer.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:deseo arrastrar con el mouse una TImage

Publicado por Dr Juzam (821 intervenciones) el 03/11/2004 20:29:08
A vueltas con el puzzle ¿no? A ver si esto te puede ayudar. Mete cada imagen dentro de un TPanel y usa el siguiente código en el MouseOdwn de cada uno de ellos:

procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
const
SC_DragMove = $F012;
begin
ReleaseCapture;
SendMessage(TWinControl(Sender).Handle,WM_SysCommand, SC_DragMove, 0);
end;

Luego, en la imagen que hay en cada panel pones el siguiente código en el MouseDown:

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Panel1MouseDown (Panel1, Button, Shift, X, Y);
end;

Seguro que se puede mejorar, pero a ver si te puede orientar. Suerte.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ProblemsRE:deseo arrastrar con el mouse una TImage

Publicado por FER (26 intervenciones) el 04/11/2004 03:30:37
Hola!! muchas gracias por ayudarme.

Estoy intentando hacer lo que tú dices pero me sale constantemente después del primer panel Panel1 el mensaje:
" Could not find source location to add method Panel2MouseDown. "END." or INITIALIZATION not found in unit source "

Que modificaciones debo hacer ? Ya que las que he hecho no me dieron resultado.

Muy agradecído si me podéis orientar.

FER
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ProblemsRE:deseo arrastrar con el mouse una TIm

Publicado por Dr Juzam (821 intervenciones) el 04/11/2004 03:43:02
Eso es que hay algún error seguramente con los end o algo así. Te vuelvo a poner el código, que tal como está es como me funciona. Si no te vale, me lo dices y te mando un mail con el ejemplo.

procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
const
SC_DragMove = $F012;
begin
ReleaseCapture;
SendMessage(TWinControl(Sender).Handle,WM_SysCommand, SC_DragMove, 0);
end;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Panel1MouseDown (Panel1, Button, Shift, X, Y);
end;

procedure TForm1.Panel2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
const
SC_DragMove = $F012;
begin
ReleaseCapture;
SendMessage(TWinControl(Sender).Handle,WM_SysCommand, SC_DragMove, 0);
end;

procedure TForm1.Image2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Panel2MouseDown (Panel2, Button, Shift, X, Y);
end;

Esto seguramente se puede optimizar para no tener que repetir tanto código, pero a ver si así te vale.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar