我创建了一个带有菜单选项的MFC程序来保存文件。当我点击它时,它显示了CFileDialog,我可以选择我想要保存文件的位置。当我单击“在对话框中保存”时,它将关闭对话框,但在此之后,它将什么也不做。而且它也没有保存我的档案。我做错了什么?
这是代码
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结果,纯粹是为了检查是否存在问题/错误。
发布于 2015-02-11 14:29:35
文件保存对话框被称为“文件保存对话框”,因为它的标题是“保存文件”,它允许您只选择一个文件。这并不意味着它实际上可以保存任何文件。它只会返回用户选择的文件名。您仍然负责编写使用此文件名保存文件的代码。
发布于 2015-02-11 14:31:04
CFileDialog不为您保存文件,它只为用户提供了一个对话框,以确定在哪里(以及如果!)应该保存该文件。在继续保存之前,应该将DoModal()的返回值与IDOK进行比较。从对话框的成员函数中,您可以获得所选用户的路径和文件名。这样,您就可以创建/打开文件并保存数据。
https://stackoverflow.com/questions/28456721
复制相似问题