Hi,
在MFC MDI中,如和实现自己的OnFileNew()函数?
谢谢

解决方案 »

  1.   

    ???
    在OnFileNew()里面将MFC的部分注释掉,加自己的代码不就可以吗?
      

  2.   

    CString lpszFilter; // file filter
        
    lpszFilter = "Log Files (*.gui)|*.gui|All Files (*.*)|*.*|";
        CFileDialog FileDlg(TRUE, 0, 0, OFN_HIDEREADONLY | OFN_EXPLORER |
    OFN_OVERWRITEPROMPT,
    lpszFilter, 0);
        FileDlg.m_ofn.lpstrInitialDir = "..\\gui";

        // open file diadlg
        if(FileDlg.DoModal() == IDOK)
    {
    m_strMapName = FileDlg.GetPathName();
    CStdioFile file;   // file
    CFileException ex; // file unexception
    CString strtemp;
    CString strtemp1;
    int lFlag = 0; // 0 or 1
    CGUIInfo* GUITemp;

    // open gui file.
            if((file.Open(m_strMapName, CFile::modeRead, &ex)) == 0)
            {
                MessageBox("Unexception Error!", 
                    "GUI变换", MB_ICONINFORMATION);
                return;
            }
            file.Close();
    }
      

  3.   

    赞同TieShou(铁手) 。
    在BEGIN_MESSAGE_MAP中注释
    ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew),
    然后自己实现OnFileNew(对应ID:ID_FILE_NEW)
      

  4.   

    读一下mfc的源代码。简单一些就把那些源代码复制过来用,复杂一些就加入自己的代码,只是在某些关键位置的代码和mfc保持一致就可以了。我就是这么做的。