Ver Mensaje Individual
  #6  
Antiguo 10-08-2011
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
El código original debe funcionar. El único problema que le veo es en

Código Delphi [-]
procedure TForm1.FormDragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
  Accept := (Source is TImage) ;
  Accept := (Source is TPanel) ;
end;

Si lo que arrastras es una imagen, la primera línea indica al formulario que debe aceptar el objeto, pero la segunda línea lo contradice puesto que Source es una imagen y no un panel.

El código debería ser así:

Código Delphi [-]
procedure TForm1.FormDragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
  Accept := (Source is TImage) or (Source is TPanel) ;
end;

Sin ánimos de demeritar, creo que es mejor adherirse a los eventos de la VCL que ir a "bajo nivel".

// Saludos
Responder Con Cita