如上?

解决方案 »

  1.   

    faq里面有的unit  Unit1;
     
    interface  
     
    uses  
       Windows,  ShellAPI,  Messages,  SysUtils,  Variants,  Classes,  Graphics,  Controls,  
       Forms,  
       Dialogs,  StdCtrls,  ComCtrls;  
     
    type  
       TForm1  =  class(TForm)  
           ListView1:  TListView;  
           procedure  FormCreate(Sender:  TObject);
       private  
           {  Private  declarations  }  
           procedure  WMDropFiles(var  Msg:  TWMDropFiles);  message  WM_DROPFILES;  
           procedure  AppOnMessage(var  Msg:  TMsg;  var  Handled:  Boolean);  
       public  
           {  Public  declarations  }  
       end;  
     
    var  
       Form1:  TForm1;  
     
    implementation  
     
    {$R  *.dfm}  
     
    procedure  TForm1.AppOnMessage(var  Msg:  TMsg;  var  Handled:  Boolean);  
    var  
       WMD:  TWMDropFiles;  
    begin
       if  Msg.message  =  WM_DROPFILES  then  
       begin  
           //        MessageBeep(0);  
           WMD.Msg  :=  Msg.message;  
           WMD.Drop  :=  Msg.wParam;  
           WMD.Unused  :=  Msg.lParam;  
           WMD.Result  :=  0;  
           WMDropFiles(WMD);  
           Handled  :=  TRUE;  
       end;  
     
    end;  
     
    procedure  TForm1.FormCreate(Sender:  TObject);  
    begin  
       DragAcceptFiles(listview1.Handle,  True);
       //    DragAcceptFiles(Handle,  True);  
    //    DragAcceptFiles(Application.Handle,  True);
       Application.OnMessage  :=  AppOnMessage;  
     
    end;  
     
    procedure  TForm1.WMDropFiles(var  Msg:  TWMDropFiles);  
    var  
       N:  Word;  
       buffer:  array[0..180]  of  Char;  
       item:  TListItem;  
    begin     with  Msg  do  
       begin  
           for  N  :=  0  to  DragQueryFile(Drop,  $FFFFFFFF,  buffer,  1)  -  1  do
           begin
               DragQueryFile(Drop,  N,  Buffer,  80);
               Item  :=  ListView1.Items.Add;  
               item.Caption  :=  StrPas(Buffer);  
             end;  
           DragFinish(Drop);  
       end;  
     
    end;  end.
      

  2.   

    KAO,楼上的,你是不是搞反了!!!
      

  3.   

    从treeview  拖向---windows?
      

  4.   

    不是,是从listview 拖向shelllistview
      

  5.   

    关注!!!!!!!!!!
    http://www.codeproject.com/shell/explorerdragdrop.asp 这里讲了MFC的实现,但我在Delphi没找到相应的COelDataSource类,,郁闷ing..............................