`
lovnet
  • 浏览: 6704198 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

转载来源: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;

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


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics