Variando un poco el ejemplo de la página puedes conseguir lo que necesitas.
Defines en el formulario estas clases:
Código Delphi
[-]
TDragDropEdit = class(TEdit);
TEdit = class(TDragDropEdit)
procedure WMDropFiles(var Msg: TWMDropFiles); message WM_DROPFILES;
end;
TForm1 = class(TForm)
Edit1: TEdit;
...
Y en la implementación tendrás algo como esto:
Código Delphi
[-]
procedure TEdit.WMDropFiles(var Msg: TWMDropFiles);
var
CFileName: array[0..MAX_PATH] of Char;
RutaArchivoTemp : String;
begin
try
if DragQueryFile(Msg.Drop, 0, CFileName, MAX_PATH) > 0 then begin
Self.Text := 'Archivo => ' + CFileName;
Msg.Result := 0;
end;
finally
DragFinish(Msg.Drop);
end;
end;
El el create defines que el que acepta es tu control:
Código Delphi
[-]
procedure TForm1.FormCreate(Sender: TObject);
begin
DragAcceptFiles(Self.Edit1.Handle, True);
end;