我明白有一些函数可以很容易地编写Windows注册表,但是我发现,在使用向导创建的新MFC项目中,一些信息(如分隔栏位置,控件的可见性)会自动存储(或者至少我没有发现CWinApp ::在项目中写入*调用)。由于我也有旧的项目没有这种行为,我需要弄清楚如何做到这一点没有项目向导的帮助。请有人知道这是如何工作的?如何保存MFC应用程序的布局设置?
1
A
回答
2
MFC控制状态保存魔术发生在'新'MFC Feature Pack,特别是在SaveState
方法中,例如CMFCToolBar::SaveState。
要利用此优势,您需要升级工具栏和菜单以使用较新的控件并将应用程序升级为从CWinAppEx继承。我建议您使用基于新MFC向导的应用程序作为如何升级旧的MFC应用程序的指南。
大部分信息保存在CPane :: SaveState()中,因此如果你想保存某个组件的状态,你需要使用派生自CPane的类。 (更多信息here是类层次结构)。
保存窗口状态的过程是通过CFrameImpl :: OnClosingMainFrame()启动的。该函数依次调用保存一些应用程序设置的CWinAppEx :: SaveState(),然后调用CMFCToolBar的所有实例(它们将自己添加到调用OnCreate的CMFCToolBars的全局列表中)。以类似的方式保存所有可停靠的窗格,但列表属于您的主框架。然后保存主框架的位置和大小。 CViews和CFrameWnds不太受欢迎,因为我发现并尝试过,唯一保存的信息是可视性。
0
我在那个时候以前用过。如果我正确地提醒它,则应在调用基类方法之前将所需的信息保存在覆盖的CWinApp::ExitInstance()
中,然后将其加载到CWinApp::InitInstance
中。一定要允许默认值,因为在第一次运行时,不会加载任何内容,并且不要忘记调用(或复制)基类。
相关问题
- 1. 如何保存应用程序设置?
- 2. 如何通过MFC将应用程序设置保存在注册表中?
- 3. 如何设置应用程序布局使用的变量
- 4. 如何设置应用程序设置而不保存在c#
- 5. 何时保存Apple设置应用程序的设置?
- 6. 如何保存到MFC C++应用程序中的位图?
- 7. 如何在主题中设置应用程序布局属性?
- 8. 如何设置计算器应用程序按钮布局
- 9. 应用程序设置保存
- 10. 保存应用程序设置vb2008
- 11. 应用程序设置不保存
- 12. 如何保存我的应用程序设置?
- 13. 应用程序的内存布局
- 14. MFC对话框应用程序的布局管理器
- 15. iPhone - 如何从应用程序保存用户设置?
- 16. 如何保存配置布局android
- 17. 如何设置布局的布局?
- 18. 如何存储应用程序设置?
- 19. 如何保留引用程序集的应用程序设置?
- 20. 如何在MFC应用程序退出时设置Errorlevel
- 21. SCSF:保存和加载应用程序的布局
- 22. 我的应用程序布局不同于activity_main布局设计
- 23. WinForms应用程序的布局布局/设计
- 24. 如何将应用程序设置保存到文件?
- 25. 如何在c#应用程序设置中保存byte []
- 26. 如何将ArrayList保存到应用程序设置中
- 27. Android Pocket应用程序设计布局
- 28. 存储应用程序全局设置的位置?
- 29. 如何保存Tlistview布局
- 30. 访问/设置iOS设置应用程序的全局设置
嗯,你是对的。王国的马...这将能够阅读我的MFC源代码。 – Pyjong
如果您想要一个程序来读取/理解MFC源代码,请尝试类似Agent Ransack的代码。 – snowdude
Nah我只是懒惰,我最终读了它,但谢谢你:)我可以编辑你的答案,添加一些信息,我发现并标记它接受? – Pyjong