Visual studio 2008 如何在Visual Studio 2008中使用;“保存到…”;对话

Visual studio 2008 如何在Visual Studio 2008中使用;“保存到…”;对话,visual-studio-2008,visual-c++,mfc,file-io,savefiledialog,Visual Studio 2008,Visual C++,Mfc,File Io,Savefiledialog,我正在用MFC编写我的第一个应用程序,我希望包括一个非常简单的功能:包括一个“保存到文件”按钮,单击该按钮将弹出熟悉的“另存为…”对话框,并最终将数据保存到文本文件中。我找不到如何调用此对话框-有人能告诉我正确的方法吗?您需要的是CFileDialog: CFileDialog d(FALSE); if(IDOK == d.DoModal()) { CString sFileName = dlg.GetPathName(); // ... Save your text to t

我正在用MFC编写我的第一个应用程序,我希望包括一个非常简单的功能:包括一个“保存到文件”按钮,单击该按钮将弹出熟悉的“另存为…”对话框,并最终将数据保存到文本文件中。我找不到如何调用此对话框-有人能告诉我正确的方法吗?

您需要的是CFileDialog:

CFileDialog d(FALSE);
if(IDOK == d.DoModal())
{
    CString sFileName = dlg.GetPathName();

    // ... Save your text to the file

}

CFileDialog构造函数中有许多参数可以更改以影响对话框的行为,有关详细信息,请查看MSDN文档。

您需要的是CFileDialog:

CFileDialog d(FALSE);
if(IDOK == d.DoModal())
{
    CString sFileName = dlg.GetPathName();

    // ... Save your text to the file

}

CFileDialog构造函数中有许多参数可以更改以影响对话框的行为,有关详细信息,请查看MSDN文档。

对于您所描述的内容,您可能只需使用
CEditView
而不必编写自己的代码。它是预先编写、测试等的


对于大多数其他情况,您应该意识到MFC本身通常处理创建
另存为…
对话框等的细节,因此您通常需要做的就是将代码放入文档类“
Serialize()
成员函数中,以读写文档数据。这传递了对
CArchive
对象的引用,因此您所要处理的就是写入或读取文档对象的数据。

对于您所描述的内容,您可能应该使用
CEditView
而不是编写自己的代码。它是预先编写、测试等的


对于大多数其他情况,您应该意识到MFC本身通常处理创建
另存为…
对话框等的细节,因此您通常需要做的就是将代码放入文档类“
Serialize()
成员函数中,以读写文档数据。这传递了对
CArchive
对象的引用,因此您需要处理的就是写入或读取文档对象的数据。

那么,我是否必须将CFileDialog对象作为类的成员,或者我是否可以将整个声明和用法放在OnBtnClicked()下事件处理程序?你可以在你的事件处理程序中声明并使用它。得到了我想要的:那么,我必须将CFileDialog对象作为我的类的成员,还是我可以将整个声明和用法放在OnBtnClicked()下事件处理程序?你可以在你的事件处理程序中声明并使用它。得到了我想要的东西:我查看了CEditView,我想它有很多我不想要的功能-我的对话框中有一个EditControl,当用户单击“另存为”按钮时,我想保存它的内容。我发现了一个类(SaveFileDialog),它有可能解决我的问题,但我在网上找不到一个好的例子来说明如何使用它。我没有MFC的书,所以我只有谷歌!!我告诉过你这个,因为从你的回答来看,你看起来是一个对MFC非常有经验的人,也许可以给我举个例子。谢谢我看了CEditView,我想它有很多我不需要的功能——我的对话框中有一个EditControl,当用户单击“另存为”按钮时,我想保存它的内容。我发现了一个类(SaveFileDialog),它有可能解决我的问题,但我在网上找不到一个好的例子来说明如何使用它。我没有MFC的书,所以我只有谷歌!!我告诉过你这个,因为从你的回答来看,你看起来是一个对MFC非常有经验的人,也许可以给我举个例子。谢谢