响应 WM_DROPFILES 消息,然后用DragQueryFile函数得到文件的信息。具体情况,查一下帮助!

解决方案 »

  1.   

    如果你用 MFC Document/View 结构,接受托动的文件由 MFC 框架自动处理,也就是打开文件。如果你用的是 CDialog,在设计的时候在 Extended Styles Tab 上选中 Accept files,你的 CDialog 类就会接收到 WM_DROPFILES 消息,然后用 DragFinish/DragQueryFile 得到文件路径的信息,具体情况参考 MSDN。如果你想要做的是在你的程序的某些子窗口内接收托放,可以考虑在子窗口类中使用 MFC 的 COleDropTarget 类,详细信息请参考 MSDN。
      

  2.   

    edyang您能不能给我一个具体的例子,我对这一套不是太了解,只要做一个基于对话框的程序在其上有一个列表框,把文件拖到列表框时,能把一些相关的信息写到列表框中
      

  3.   

    void CVBFrameWnd::OnDropFiles(HDROP hDropInfo) 
    {
         char lpszFile[128];
         UINT numFiles;       numFiles=DragQueryFile(hDropInfo,0xFFFF,NULL,0);     ::DragQueryFile(hDropInfo, 0, lpszFile, 127);
         ::DragFinish(hDropInfo);
         m_ctrlwnd->FireFileDrop((OLE_HANDLE) m_hWnd,
                                 (LPCTSTR) lpszFile);
           
         CWnd::OnDropFiles(hDropInfo);
    }