PDA

Ver la Versión Completa : Arrastrar hacia el form


Khronos
29-09-2007, 20:53:26
Pues, eso estuve buscando la forma de como arrastrar elementos del escritorio de windows o de una carpeta a un componente en mi form.
Por ejemplo: arrastrar una imagen a un TImage.

¿Como podria hacerlo y como capturo la direccion del archivo que arrastras? :(


Salu2

xEsk
29-09-2007, 21:41:34
Hola, aquí (http://www.chami.com/tips/delphi/111196D.html) uno de los muchos ejemplos que hay por Internet.

En Google (http://www.google.com/search?hl=es&client=opera&rls=es-es&hs=e1h&q=delphi+drag+drop+explorer&btnG=Buscar&lr=) hay mucha información al respecto.

Saludos.

aeff
29-09-2007, 22:23:17
saludos, espero que te sirva esto que te voy a explicar, mira,

1- Coloca esto debajo del private:


...
private
{ Private declarations }
procedure CapturaMsgDropFile(var Msg: TWMDropFiles); message WM_DROPFILES;
...


2- Debajo del implementation de tu unit, pon esto:


...

uses ShellApi;
procedure TForm1.CapturaMsgDropFile(var Msg: TWMDropFiles);
var
fCount, i: Integer;
fName: array[0..255] of Char;
begin
fCount := DragQueryFile(Msg.Drop, $FFFFFFFF, fName, 1);
for i := 0 to fCount -1 do
begin
DragQueryFile(Msg.Drop, i, fName, sizeof(fName));
ShowMessage(fName);
end;
DragFinish(Msg.Drop);
end;

...



por último, en el onCreate de tu form: coloca esta linea:


DragAcceptFiles(Handle, true);


espero que te sirva de algo lo que te puse aqui,

saludos
aeff!!