Delphi使用文件拖放功能

1. 新建一个Delphi工程,将Form1的FormStyle属性设置为:fsStayOnTop,在窗体上放置一个Memo1控件,用于显示拖放进来的文件名;

2. 添加单元引用: ShellAPI

3. 在Public部分声名一个处理WM_DROPFILES消息的过程
   public
      procedure  WmDropFiles( var  Msg: TMessage);  message  WM_DROPFILES;

4. 在Form1的OnCreate事件中添加下面一行

procedure  TForm1.FormCreate(Sender: TObject);
begin
   DragAcceptFiles(Form1.Handle, True);
end;

5. 在implementation部分编写WmDropFiles消息处理过程代码

procedure  TForm1.WmDropFiles( var  Msg: TMessage);
var
   P: array [ 0. . 254 of  Char;
   i:Word;
begin
    Inherited ;
   Memo1.Lines.Clear;
    {$IFDEF WIN32}
      i:=DragQueryFile(Msg.wParam, $FFFFFFFF , nil , 0 );
    {$ELSE}
      i:=DragQueryFile(Msg.wParam, $FFFF , nil , 0 );
    {$ENDIF}
   Caption:=IntToStr(i);
    for  i:= 0   to  i- 1   do
    begin
     DragQueryFile(Msg.wParam,i,P, 255 );
     Memo1.Lines.Add(StrPas(P));
    end ;
end ;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值