• 让自己的软件实现拖拽打开文件(使用WM_DROPFILES消息和DragQueryFile函数)


    //声明
    protected
        procedure WMDROPFILES(var Msg : TMessage); message WM_DROPFILES;
    
    //实现
    procedure TFormMain.WMDROPFILES(var Msg: TMessage);
    var
      i, n: Integer;
      Buffer: Array[0..255] of Char;
    begin
      //得到拖拽文件数量
      n := DragQueryFile(Msg.wParam, $FFFFFFFF, Buffer, 255);
      //处理选择多个文件
      for i := 0 to n - 1 do
      begin
        //获取拖拽文件名
        DragQueryFile(Msg.wParam, i, Buffer, 255);
        //文件名就在Buffer里面了
        if UpperCase(ExtractFileExt(Buffer)) = '.BZLX' then
        begin
          //判断文件是否已经打开
          if UpperCase(Buffer) = UpperCase('test.bzlx') then
          begin
            MessageDlg('文件test.bzlx已经打开!', (mtInformation),[mbOK],0);
            exit;
          end;
          //打开文件
          OpenFile(Buffer);
          exit;
        end;
      end;
      //结束拖拽
      DragFinish(Msg.wParam);
    end; 
    
    //初始化
    procedure TFormMain.FormCreate(Sender: TObject);
    begin
      //使窗口句柄可以接收拖拽操作
      DragAcceptFiles(Handle, True);
    end;

    http://blog.csdn.net/shuaihj/article/details/7046515

  • 相关阅读:
    关于《GridView“GridView1”激发了未处理的事件“PageIndexChanging”》的问题!
    励志名言
    Java从入门到精通
    Java学习每天进步一点点
    学**况
    git常用命令
    linux常用命令
    linux yum命令详解
    git分支
    linux常用命令(2)
  • 原文地址:https://www.cnblogs.com/findumars/p/5345752.html
Copyright © 2020-2023  润新知