zoukankan      html  css  js  c++  java
  • 实现拖拽文件到单文档应用程序的View中

          很多软件都具备将文档直接拖拽到软件界面上,然后软件自动读取、解析文档,最后在界面上呈现文档内容。这里主要就是响应一个WM_DropFiles消息。下面就在一个单文档应用程序里面实现该功能。

    第一步:在View的头文件添加WM_DropFiles消息响应函数声明:

    afx_msg void OnDropFiles(HDROP hDropInfo);

    第二步:在view的cpp文件中添加WM_DropFiles的消息映射:

    ON_WM_DROPFILES()

    第三步:在view的cpp文件中实现OnDropFiles消息响应函数:  

     void CTestView::OnDropFiles(HDROP hDropInfo)
    {
          CScrollView::OnDropFiles(hDropInfo);
          TCHAR filePath[1024] = {0};
               //获取拖拽的文件的路径
          DragQueryFile(hDropInfo , 0 , (LPTSTR)filePath ,1024);
    
              CString strFilePath = filePath;
    
              //TODO:有了文件路径后,就可以去读取文件,然后解析文件、呈现内容了
    }

    第四步:还需要在OnInitialUpdate函数中调用DragAcceptFiles(TRUE)方法:

    void CTestView:: OnInitialUpdate ()
    {
           DragAcceptFiles(TRUE);
    }
  • 相关阅读:
    设计模式——适配器模式
    设计模式——模板方法模式
    03-Web开发(上)
    02-配置文件
    01-QuickStart
    34-多线程(下)
    33-IO(下)
    15-后端编译与优化(待补充)
    14-线程安全与锁优化
    13-JUC(下)
  • 原文地址:https://www.cnblogs.com/RascallySnake/p/2939122.html
Copyright © 2011-2022 走看看