请问新建文件时弹出文件类型选择框怎么做?

vxhelp 2002-05-06 03:24:14
我想在用户单击

新建里,弹出一个类型选择对话框,然后再执行原来的操作,请问怎么做?
...全文
22 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
tonyblues 2002-05-06
MFC的源代码DOCMGR.CPP中有个CNewTypeDlg,就是实现这个功能,可以参考。
虽然不能直接使用这个类,但是我大致看了一下,实现起来应该不难。

可以自己设计一个包含列表框的对话框,利用CWinApp的m_pDocManager,枚举所有文档模板,通过CDocTemplate的GetDocString就可以取得类型的名称,添加到列表框里。然后再处理OnOK,根据选中的文档模板类型新建文档...
回复
doyd 2002-05-06
假设程序名称为netDBSync

在netDBSync.cpp中

BEGIN_MESSAGE_MAP(CNetDBSyncApp, CWinApp)
//{{AFX_MSG_MAP(CNetDBSyncApp)
ON_COMMAND(ID_APP_ABOUT, OnAppAbout)

//}}AFX_MSG_MAP
// Standard file based document commands
// 注释掉ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)
ON_COMMAND(ID_FILE_NEW, CNetDBSync::OnMyFileNew)// 添加的

ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)
// Standard print setup command
ON_COMMAND(ID_FILE_PRINT_SETUP, CWinApp::OnFilePrintSetup)
END_MESSAGE_MAP()

CNetDBSync::onMyFileNew()
{
char BASED_CODE szFilter[] = "XML Files (*.xsl)|*.xsl|All Files (*.*)|*.*||";
CFileDialog d(FALSE,"xsl",NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter);
if (d.DoModal())
{
CString strLink ;

strLink = d.GetPathName() ;
..........
..........

}

// 这句执行原来的操作
CWinApp::OnFileNew() ;
}
回复
vxhelp 2002-05-06
UPUPUP
回复
相关推荐
发帖
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2002-05-06 03:24
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……