本帖最后由 zsms_life 于 2010-03-18 10:57:39 编辑

解决方案 »

  1.   

    1.public CDropFileTarget<CXXXDlg>
    2.CHAIN_MSG_MAP(CDropFileTarget<CXXXDlg>)加到BEGIN_MSG_MAP(CXXXDlg)和END_MSG_MAP()之间
    3.在OnInitDialog中 加入以下注册
    RegisterDropTarget();
    4.改写 
    void ProcessFile(LPCTSTR lpszPath)
    {
        // 处理文件}
      

  2.   

    ON_WM_DROPFILES 貌似没有这个消息。。
      

  3.   

    CDropFileTarget<CXXXDlg>  ??
     我的控件中没有对话框 只有窗口!且不支持MFC!
     
      

  4.   

    仔细检查WM_DROPFILES这个消息映射是否设置正确
      

  5.   

    我用IDropTarget解决了 它有如下更灵活的消息消息可以响应 没有使用WM_DROPFILES.
    HRESULT   STDMETHODCALLTYPE   DragOver(DWORD   grfKeyState,   POINTL   pt,   DWORD   *pdwEffect);  
     
    HRESULT   STDMETHODCALLTYPE   DragEnter(IDataObject   *   pDataObject,   DWORD   grfKeyState,   POINTL   pt,   DWORD   *   pdwEffect);   HRESULT   STDMETHODCALLTYPE   DragLeave(void);  
     
    HRESULT   STDMETHODCALLTYPE   Drop(IDataObject   *pDataObj,   DWORD   grfKeyState,   POINTL   pt,   DWORD   __RPC_FAR   *pdwEffect); 不过还是谢谢大家!来者有分