如何使用“保存到..”对话框将字符串从 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 中的文本文件?的主要内容,如果未能解决你的问题,请参考以下文章

使用打开/保存对话框将字符串保存到客户端

从网上下载文件,然后使用保存文件对话框保存?

如何使用另存为对话框将创建的 excel 实例保存到客户端的磁盘

如何将数据从Cognito Sync保存到服务器

如何将数据持久保存从 PHP 到 Android [关闭]

保存对话框以下载文件,将文件从 ASP.NET 服务器保存到客户端