MFC单文档打开文件默认后缀名修改

来源:互联网 发布:zbrush mac 注册机 编辑:程序博客网 时间:2024/05/17 23:51

转载来源:http://www.iieeg.com/newscon.php?id=2305。

做单文档程序时,默认打开文档后缀为(*.*)。如果我们需要自定义打开后缀时,需要对文档模板相关函数做重载。


class CMySingleDocTemplate : public CSingleDocTemplate{public:    CMySingleDocTemplate(UINT nIDResource, CRuntimeClass* pDocClass,        CRuntimeClass* pFrameClass, CRuntimeClass* pViewClass):\        CSingleDocTemplate( nIDResource, pDocClass, pFrameClass, pViewClass )    {    }    virtual BOOL GetDocString(CString& rString, enum DocStringIndex index) const    {        if(index == CDocTemplate::filterExt)        {            rString = _T(".test");        }        else if( index == CDocTemplate::fileNewName || index == CDocTemplate::filterName )        {            rString = _T("test(*.test)");        }        else        {            __super::GetDocString(rString,index);        }        return TRUE;    };};

创建代码修改,CSingleDocTemplate改为CMySingleDocTemplate。

CMySingleDocTemplate* pDocTemplate;pDocTemplate = new CMySingleDocTemplate(IDR_MAINFRAME,RUNTIME_CLASS(CMCDemoDoc),RUNTIME_CLASS(CMainFrame),       // main SDI frame window        RUNTIME_CLASS(CMC3DView));if (!pDocTemplate)return FALSE;

则打开文件,默认类型为自定义的后缀。