Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Gráficos (https://www.clubdelphi.com/foros/forumdisplay.php?f=8)
-   -   Mover una imagen encima de otra (https://www.clubdelphi.com/foros/showthread.php?t=18810)

maravert 23-02-2005 17:28:12

Mover una imagen encima de otra
 
Hola, Saben tengo el siguiente problema, si alguno de ustedes me ayuda os estaria enormemente agradecido.

Tengo por una parte un TImage (Timage1) con una imagen cargada, por el otro tengo un Tpanel que contiene un Timage o varios Timages, lo que necesito hacer es mover la imagen que se encuentra dentro del panel a la otra imagen que se encuentra fuera del Panel, en esta caso (Timage1).

La imagen que se encuentra dentro del panel si se mueve pero slo dentro del panel y al arrastrarla para colocarla en el Timage (Timage1) desaparece esta imagen.

Anexo el codigo para saber si alguien me puede ayudar.

Gracias a todos

Alejandro M.


Código Delphi [-]
 unit Unit1;
 interface
 uses
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, ExtCtrls;
 type
   TForm1 = class(TForm)
     Image1: TImage;
     Panel1: TPanel;
     Image2: TImage;
     Image3: TImage;
     Image4: TImage;
     Image5: TImage;
  
 
     procedure Image2MouseDown(Sender: TObject; Button: TMouseButton;
       Shift: TShiftState; X, Y: Integer);
     procedure Image2MouseMove(Sender: TObject; Shift: TShiftState; X,
       Y: Integer);
     procedure Image2MouseUp(Sender: TObject; Button: TMouseButton;
       Shift: TShiftState; X, Y: Integer);
   private
     { Private declarations }
   public
     { Public declarations }
   end;
 var
   Form1: TForm1;
   Capturing : boolean;
   MouseDownSpot:TPoint;
 implementation
 {$R *.dfm}
 procedure TForm1.Image2MouseDown(Sender: TObject; Button: TMouseButton;
   Shift: TShiftState; X, Y: Integer);
 begin
 Capturing := true;
     MouseDownSpot.X := x;
     MouseDownSpot.Y := Y;
 end;
 procedure TForm1.Image2MouseMove(Sender: TObject; Shift: TShiftState; X,
   Y: Integer);
 begin
 if Capturing then begin
     TImage(Sender).Left := TImage(Sender).Left - (MouseDownSpot.x - x);
     TImage(Sender).Top := TImage(Sender).Top - (MouseDownSpot.y - y);
   end;
 end;
 procedure TForm1.Image2MouseUp(Sender: TObject; Button: TMouseButton;
   Shift: TShiftState; X, Y: Integer);
 begin
 if Capturing then begin
     ReleaseCapture;
     Capturing := false;
     TImage(Sender).Left := TImage(Sender).Left - (MouseDownSpot.x - x);
     TImage(Sender).Top := TImage(Sender).Top - (MouseDownSpot.y - y);
   end;
 end;
 end.

marto 23-02-2005 17:32:55

Como no edites tú mensaje y le pongas tags no hay dios que lo lea

maravert 24-02-2005 01:04:45

???
 
Hola, en verdad no entiendo eso de los "Tags", en realidad siempre he usado el mismo formato, creo que estoy pidiendo la ayuda de una manera cortes, por favor si alkguien me dice que estoy haciendo mal, con mucho gusto lo corrijo,

Hasta pronto.

A. Maravert.


La franja horaria es GMT +2. Ahora son las 19:42:25.

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