Hola nuevamente Julián.
Mirá, yo trabajo don Delphi 7 pero supongo que no tendría que haber diferencia en esto con Delphi 2010.
Hice una prueba que funciona bién, seguramente tengas que adaptarla a tu necesidad; pero tal vez algo te pueda servir.
El ejemplo consta de un TImage destino, creado en diseño dentro de un TPanel (para visualizar donde dejo la imágen) y
otro TImage origen creado en en ejecución.
Código Delphi
[-]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
ImgDestino: TImage;
procedure FormCreate(Sender: TObject);
procedure ImagenDestinoDragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
procedure ImagenDestinoDragDrop(Sender, Source: TObject; X,
Y: Integer);
private
FImgOrigen: TImage;
procedure ImagenOrigenClick(Sender:TObject);
public
end;
var
Form1: TForm1;
implementation {$R *.dfm}
uses Jpeg;
procedure TForm1.FormCreate(Sender: TObject);
begin
FImgOrigen:= TImage.Create(nil);
with FImgOrigen do
begin
Picture.LoadFromFile('C:\Tucan.jpg');
Parent:= Self;
OnClick:= ImagenOrigenClick;
end;
end;
procedure TForm1.ImagenOrigenClick(Sender: TObject);
begin
FImgOrigen.BeginDrag(True);
end;
procedure TForm1.ImagenDestinoDragOver(Sender, Source: TObject; X,
Y: Integer; State: TDragState; var Accept: Boolean);
begin
Accept:= Source is TImage;
end;
procedure TForm1.ImagenDestinoDragDrop(Sender, Source: TObject; X,
Y: Integer);
begin
ImgDestino.Picture.Assign(FImgOrigen.Picture);
end;
end.
Nota: No realizé la liberación de los recursos por que no hace al funcionamiento, pero lógico que deberías liberarlos al finalizar.
Espero te ayude en algo.
Saludos.
