首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++ MFC CFileDialog不会保存

C++ MFC CFileDialog不会保存
EN

Stack Overflow用户
提问于 2015-02-11 14:25:02
回答 2查看 800关注 0票数 0

我创建了一个带有菜单选项的MFC程序来保存文件。当我点击它时,它显示了CFileDialog,我可以选择我想要保存文件的位置。当我单击“在对话框中保存”时,它将关闭对话框,但在此之后,它将什么也不做。而且它也没有保存我的档案。我做错了什么?

这是代码

代码语言:javascript
复制
CFileDialog *dlg = new CFileDialog(FALSE, L"dr", NULL, NULL,
                   L"Drawings (*.dr)|*.dr|"
                   L"All Files||");

bool result = dlg->DoModal();

if(result)
{
    MessageBox(0, dlg->GetPathName(), L"Draw", 0);
}

bool结果,纯粹是为了检查是否存在问题/错误。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-11 14:29:35

文件保存对话框被称为“文件保存对话框”,因为它的标题是“保存文件”,它允许您只选择一个文件。这并不意味着它实际上可以保存任何文件。它只会返回用户选择的文件名。您仍然负责编写使用此文件名保存文件的代码。

票数 2
EN

Stack Overflow用户

发布于 2015-02-11 14:31:04

CFileDialog不为您保存文件,它只为用户提供了一个对话框,以确定在哪里(以及如果!)应该保存该文件。在继续保存之前,应该将DoModal()的返回值与IDOK进行比较。从对话框的成员函数中,您可以获得所选用户的路径和文件名。这样,您就可以创建/打开文件并保存数据。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28456721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档