推荐DragDrop控件,挺好使的
在Delphi仓库中下载

解决方案 »

  1.   

    其实这个组件Delphi6中就自带了如果用程序实现的话,要用一个Com接口,比较麻烦
      

  2.   

    unit Unit1;interfaceuses
     Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls;type
    TForm1 = class(TForm)
     Memo1: TMemo;
     procedure FormCreate(Sender: TObject);
    private
     procedure WMDROPFILES(var Message: TWMDROPFILES); message WM_DROPFILES;
     { Private declarations }
    public
     { Public declarations }
    end;var
    Form1: TForm1;implementation{$R *.DFM}uses ShellApi;procedure TForm1.FormCreate(Sender: TObject);
    begin
    {Let Windows know we accept dropped files}
     DragAcceptFiles(Form1.Handle, True);
    end;procedure TForm1.WMDROPFILES(var Message: TWMDROPFILES);
    var
     NumFiles : longint;
     i : longint;
     buffer : array[0..255] of char;
    begin
     {How many files are being dropped}
     NumFiles := DragQueryFile(Message.Drop,$FFFFFFFF,nil,0);
     {Accept the dropped files}
     for i := 0 to (NumFiles - 1) do begin
      DragQueryFile(Message.Drop,i,@buffer,sizeof(buffer));
      Form1.Memo1.Lines.Add(buffer);
     end;
    end;
    {摘自delphi FAQ}