2011-02-28 21 views
0

这是我第一个实质性的MFC应用程序。修改MFC应用程序的启动行为

我的超出向导的MFC应用程序想要在我的应用程序启动时为我的应用程序打开一个空白的新文件,但这对我的应用程序没有意义。我希望我的应用能够打开一些远程站点的连接并从中获取数据。

我应该在哪里考虑中断或重写MFC的默认行为?我可以继承CWinApp :: ProcessShellCommand()。我可以修改它工作的CCommandLineInfo对象。我可以删除整个命令行处理,并且只需调用我的“获取数据”功能。我可能应该完全删除整个文件作为一个文件的相关处理。我不打开或保存任何文件,除了除UI之外的调试文件或日志。本地信息的唯一保存或收集是通过一个数据库,我自己处理序列化的数据库,因此也没有CArchive。

我已经掌握了所有这些代码,但是它悬挂在我面前,脱节和瓦解。我太新了,而且有太多的选择。一些简单的初学者的简单指导就是我所要求的。

因此,如果你会说,当然,放弃文件处理的文件,请告诉我,我需要去做那些手术,我可以看到它不只是一个对象会受到影响。等等。谢谢。

回答

0

你可能会考虑生成一个新的应用程序,但是当你这样做时,告诉它你想要一个没有文件处理的数据库应用程序。即使你没有使用它的数据库功能,它也会产生一个应用程序,它的基本布局大致是为你想要做的事情设置的,所以你基本上只是用你的数据库接口替代它提供的东西,不会涉及试图破坏文件处理,而且这显然与您的程序无关。

+0

感谢您的建议。我需要比数据库项目提供的更多UI功能。哪个更好,建立我自己需要的东西,或者剔除干扰什么,什么我不需要?我不知道。无论如何,我会提前学习如何处理MFC,这是我的目标。 – Shellsunde

+0

@Shellsunder:缺少哪些UI功能? AFAIK,它包含与任何其他项目相同的UI功能...... –

0

我找到了修改默认文件打开的答案。虽然我提出了Coffin建议的数据库应用程序,但是我看到了“在视图中存储数据库对象”的短语,而我却毫无目的地用MSDN搜索了MSDN。如果我要尝试数据库应用程序的方法,并做我自己的序列化,我必须了解这一点。

因此我找到了一个关于handling the file menu in database apps的MSDN页面,该页面讨论了如何修改甚至禁用OnFileOpen命令。它适用于OnFile New,这是我所希望的方法。

相关问题