Ver Mensaje Individual
  #6  
Antiguo 20-09-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
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.

Última edición por ecfisa fecha: 20-09-2010 a las 20:14:28.
Responder Con Cita