发贴无罪,灌水有理http://www.csdn.net/expert/topic/458/458597.shtm 
帮帮我吧(网吧管理软件) http://www.csdn.net/expert/topic/464/464120.shtm  

解决方案 »

  1.   

    To wwwsq(wwwsq):
    能否用几行代码简要讲讲? 
      

  2.   

    搞不懂你什么问题,添加一个CFiledailog类,右击该类,选择"add windows message handles.." 里面不是都有吗?
      

  3.   

     在MSDN里查找OPENFILENAME,->m_ofn, ->OFN_ENABLEHOOK,->再写一个回调函数。
      

  4.   

    找着了现成的源码,给你:
    CBmpDialog::CBmpDialog(BOOL bOpenFileDialog, LPCTSTR lpszDefExt, LPCTSTR lpszFileName,DWORD dwFlags, LPCTSTR lpszFilter, CWnd* pParentWnd) :
    CFileDialog(bOpenFileDialog, lpszDefExt, lpszFileName, dwFlags, lpszFilter, pParentWnd)
    {    m_ofn.lpstrFilter = "位图 (*.bmp)\0*.bmp\0"                        "所有文件 (*.*)\0*.*\0\0";                                m_ofn.Flags |= (OFN_HIDEREADONLY |OFN_ENABLEHOOK| OFN_EXPLORER  |OFN_ENABLETEMPLATE);
        m_ofn.hInstance = AfxGetInstanceHandle();
        m_ofn.lpTemplateName = MAKEINTRESOURCE(IDC_PREVIEW);
        m_ofn.lpfnHook = OFNHookProc;          
    }
    其次:
    主要是写函数OFNHookProc:
    UINT APIENTRY OFNHookProc( HWND hdlg, UINT uiMsg, WPARAM wParam, LPARAM lParam )
    {
        
        switch (uiMsg)
        {
            case WM_COMMAND:
    ...........
         }
    }
      

  5.   

    可能我说的问题和你的不一样,我要做的是为了自己处理全部的默认的CFileDialog的消息。并不改变模板资源。我试了你的方法发现接收不到WM_COMMAND和WM_NOTIFY消息(其他的一些消息能收到)怀疑插入OFNHookPro的时候系统已经处理了这两个消息。
      

  6.   

    不可能接受不到WM_COMMAND和WM_NOTIFY