VC++中的MFC应用

Posted

技术标签:

【中文标题】VC++中的MFC应用【英文标题】:MFC Application in VC++ 【发布时间】:2010-07-21 10:52:49 【问题描述】:

我使用 MFC 开发了一个桌面应用程序,它具有 FILE、EDIT、VIEW 和 HELP 选项,以及一支笔可以在打开的文档上书写并保存为 test1。它只允许我打开 test1 或 test2 等。除了这些类型的文件,如果我想打开 PPT 或 PDF,我该怎么做?

打开文件的代码是由 Visual Studio 2008 自动生成的。现在我需要修改它。

【问题讨论】:

"用一支笔" ???请解释一下,可能在翻译中丢失了。我认为您首先需要提高您在 MFC/C++ 方面的技能;其次是检查打开这些文件格式需要什么,它可能不像看起来那么简单(我从来没有考虑过)。祝你好运。最大。 【参考方案1】:

这是微软不提供任何向导来做的事情(至少不直接提供)。基本思想是您必须为新文件类型创建和添加新文档和视图类。然后您需要将文档字符串添加到字符串表中,以描述文件扩展名和文档/视图类之间的关联。然后使用添加到字符串表中的字符串在应用程序类中注册每个文档/视图对。

到目前为止,最简单的方法是在另一个(否则为一次性的)应用程序中生成文档、视图和字符串,从该应用程序中获取文档、视图、注册字符串和注册代码并将它们放入您的应用程序中。然后为下一个文件扩展名生成另一个一次性应用程序。

这为您提供了每个文件扩展名的框架文档/视图。从那里开始,由您编写代码以实际打开、显示、编辑、保存等,这种类型的文件。这对于 PDF 或(尤其是)PPT 来说都不是小事——除非您“委托”并使用诸如 ActiveX 控件之类的东西来完成真正的工作。如果您想这样做,Adobe ActiveX 控件工作得相当好(功能有些有限,但它在 Web 浏览器中的显示基本上与 PDF 相同)。我不记得 MS 是否提供了用于查看 PPT 文件的 ActiveX 控件。有一个免费的 PPT 查看器,但如果没记错的话,它是一个可执行文件,而不是一个控件。

【讨论】:

以上是关于VC++中的MFC应用的主要内容,如果未能解决你的问题,请参考以下文章

VC++ 非 mfc 中的父子窗口问题

VC6 和 MFC 中的 HTML 打印和打印预览

VC++(MFC)中动态创建和管理按钮控件,怎么做?

如何区分 MFC(VC++)中的文件夹类型(Windows/FTP)?

Win32控制台应用程序怎样使用MFC中的CFile类?

VS2010-MFC(利用MFC向导生成单文档应用程序框架)