Ver Mensaje Individual
  #1  
Antiguo 23-02-2005
maravert maravert is offline
Miembro
 
Registrado: jul 2004
Ubicación: Xalapa, México
Posts: 158
Reputación: 20
maravert Va por buen camino
Question 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.

Última edición por Neftali [Germán.Estévez] fecha: 23-02-2005 a las 17:50:09. Razón: Con 41 mensajes deberías saber usar los TAGS... ;-)
Responder Con Cita