在 MFC C++ 中打开对话框

Posted

技术标签:

【中文标题】在 MFC C++ 中打开对话框【英文标题】:open dialog in MFC C++ 【发布时间】:2015-03-13 16:55:06 【问题描述】:

我正在尝试通过 Visual Studio 2013 中 MFC 项目的菜单中的默认打开按钮打开文件。我使用了浏览按钮,并使用“OnBnClickedButton”函数来获取打开文件的地址,但是现在没有这样的功能。 我该怎么办?

【问题讨论】:

【参考方案1】:

由向导创建的默认 MFC 应用程序(SDI 或 MDI)没有打开(或保存)代码的私有实现,它将调用默认框架代码(请参阅 ScottMcP-MVP 答案)

通常,您应该在应用程序中为 ID_FILE_OPEN 添加一个处理程序,以调用 CFileDialog 并自己处理文件。

CFileDialog 最好用作模态对话框

CFileDialog dlg(TRUE); // TRUE is to tell the dialog is used as an open CFileDialog.
if ( dlg.DoModal() == IDOK )

  CString fullPathName = dlg.GetPathName(); // get the full path name of the selected file.
  //... add some of your own code to open the file and read it.

【讨论】:

【参考方案2】:

查看 CWinApp::OnFileOpen 的 MSDN 页面

【讨论】:

以上是关于在 MFC C++ 中打开对话框的主要内容,如果未能解决你的问题,请参考以下文章

MFC C++:如何将某个文件实际保存到系统中,而不仅仅是打开另存为对话框

保存工作区 MFC C++ MDI

我的对话框未在 MFC C++ 中显示

C++ MFC 为 CTabCtrl 中的每个选项卡附加不同的对话框

如何在 MFC C++ 中实例化相同的对话框?

为啥 CDC::LineTo() 不在 Visual C++ 2015 MFC 对话框中绘制?