MFC中基于对话框的新文件

Posted

技术标签:

【中文标题】MFC中基于对话框的新文件【英文标题】:Dialog based New file in MFC 【发布时间】:2014-08-04 06:57:28 【问题描述】:

我想弹出一个在 MFC 中创建新文件的对话框 收集 Photoshop 等文档的详细信息。 (例如宽度、高度、深度。)

我从 *** 中找到了两个答案。

Configuring new document in MFC

MFC, File New with dialog to prompt for paramters and multiple Doc Types?

我想试试正式的,但我看不懂这个建议:

只需将自定义消息/命令发布到主框架。然后添加一个处理程序,该处理程序将按顺序弹出 GUI/更新文档/更新视图做出反应。这样,主框架将在 GUI 弹出之前显示,您的用户会更开心。

谁能详细解释一下?

提前致谢。

【问题讨论】:

【参考方案1】:

我不是很确定你引用的答案,我通常的做法是在OnNewDocument()成员函数中弹出对话框收集新文件信息——正如引用的问题所提到的,有点在文档类中放入 UI 很难看,但它可以工作......

BOOL CMyDoc::OnNewDocument()
   if (!CDocument::OnNewDocument()) // substitute CDocument with your document base class
        return FALSE;
    CFileNewInfo dlg(AfxGetApp()->GetMainWnd());
    // ... set up dialog member variables
    if (dlg.DoModal() != IDOK)
        return FALSE;
    // ... retrieve dialog member variables and update your document appropriately
    return TRUE;

【讨论】:

以上是关于MFC中基于对话框的新文件的主要内容,如果未能解决你的问题,请参考以下文章

mfc中怎样在一个基于对话框程序中添加菜单栏 急。。。!

在网格视图中显示数据 - 基于 MFC c++ 对话框的应用程序

基于MFC的动画图形实现对话框

基于MFC对话框程序中添加菜单栏 (CMenu)

无法在 mfc 对话框中删除文件

MFC的基本对话框怎么画图?