向listview里拖放程序

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.  

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值