MFC单文档打开文件默认后缀名修改
2015-12-10 11:12
375 查看
做单文档程序时,默认打开文档后缀为(*.*)。如果我们需要自定义打开后缀时,需要对文档模板相关函数做重载。
[cpp] view
plaincopy
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。
[cpp] view
plaincopy
CMySingleDocTemplate* pDocTemplate;
pDocTemplate = new CMySingleDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(CMCDemoDoc),
RUNTIME_CLASS(CMainFrame), // main SDI frame window
RUNTIME_CLASS(CMC3DView));
if (!pDocTemplate)
return FALSE;
则打开文件,默认类型为自定义的后缀。
[cpp] view
plaincopy
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。
[cpp] view
plaincopy
CMySingleDocTemplate* pDocTemplate;
pDocTemplate = new CMySingleDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(CMCDemoDoc),
RUNTIME_CLASS(CMainFrame), // main SDI frame window
RUNTIME_CLASS(CMC3DView));
if (!pDocTemplate)
return FALSE;
则打开文件,默认类型为自定义的后缀。
相关文章推荐
- RecycleView的基本使用(一)
- js表单提交和submit提交的区别实例分析
- 【springmvc+mybatis项目实战】杰信商贸-5.生产厂家DAO+SERVICE+CONTROLLER+JSP+配置文件
- 【Android】Paint的效果研究
- php正则匹配手机号,邮箱
- CvMat结构
- 【code】表单验证
- ajax与隐藏form提交的利与弊
- 【转载】关于C#中Thread.Join()的一点理解
- 同步方法的几种常见写法
- LVS实现负载均衡
- effective c++ 学习笔记 1
- NSURL 的简单使用
- maven pom.xml文件第一行报错,用以下设置即可
- 【springmvc+mybatis项目实战】杰信商贸-6.重点知识回顾
- hadoop安装,单机,伪分布
- OnCreateClient
- 【springmvc+mybatis项目实战】杰信商贸-7.生产厂家新增
- iOS UI NavigationController UINavigationBar UINavigationItem
- 【springmvc+mybatis项目实战】杰信商贸-8.生产厂家修改