如何使用“保存到..”对话框将字符串从 EditControl 写入 Visual Studio 2008 中的文本文件?
Posted
技术标签:
【中文标题】如何使用“保存到..”对话框将字符串从 EditControl 写入 Visual Studio 2008 中的文本文件?【英文标题】:How to write string from EditControl to a text file in Visual Studio 2008 , using the "Save To.." dialog? 【发布时间】:2010-04-24 11:08:16 【问题描述】:我正在 MFC 中编写我的第一个应用程序,我希望包含一个非常简单的功能:包含一个“保存到文件”按钮,单击该按钮会弹出熟悉的“另存为..”对话框和最终将数据保存在文本文件中。我找不到如何调用此对话框 - 有人可以指出正确的方法吗?
【问题讨论】:
【参考方案1】:你需要的是 CFileDialog :
CFileDialog d(FALSE);
if(IDOK == d.DoModal())
CString sFileName = dlg.GetPathName();
// ... Save your text to the file
CFileDialog 构造函数中有许多参数可以更改以影响对话框的行为,请查看 MSDN 文档了解详细信息。
【讨论】:
那么,我是否必须将 CFileDialog 对象作为我的类的成员,还是可以将整个声明和用法放在 OnBtnClicked() 事件处理程序下? 你可以在你的事件处理程序中声明和使用它。 得到了我想要的东西:funnotes.net/File-open-dialog-box-using-CFileDialog.php【参考方案2】:对于您所描述的内容,您可能应该只使用CEditView
而不是编写自己的代码。它是预先编写的、经过测试的等等。
对于大多数其他情况,您应该意识到 MFC 本身通常会处理创建 Save As...
对话框等的细节,因此您通常只需将代码放入文档类的 Serialize()
成员函数中即可读取并写入您的文档数据。它传递了对CArchive
对象的引用,因此您所要做的就是为您的文档对象写入或读取数据。
【讨论】:
我查看了 CEditView,我猜它有很多我不想要的功能 - 我的对话框中有一个 EditControl,当用户单击时我想保存它的内容“另存为”按钮。我找到了一个类(SaveFileDialog),它可能会解决我的问题,但我无法在网上找到一个很好的例子来展示如何使用它。我没有 MFC 书,所以我只有谷歌!我告诉你这个是因为从你的回复中,你看起来是一个对 MFC 非常有经验的人,也许可以给我举一个这样的例子。谢谢!!以上是关于如何使用“保存到..”对话框将字符串从 EditControl 写入 Visual Studio 2008 中的文本文件?的主要内容,如果未能解决你的问题,请参考以下文章