如何保存MFC应用程序的布局设置
How to save layout settings of MFC application?
我知道有些功能可以轻松编写Windows注册表,但是我发现在使用向导创建的新的MFC项目中,一些信息(例如拆分栏位置,控制功能的可见性)被存储自动(或者至少我没有发现cwinapp ::在项目中写*电话)。由于我也有没有这种行为的较旧的项目,因此我需要弄清楚如何在没有项目向导的帮助的情况下做出这一点。有人会知道这是如何工作的吗?
MFC控制状态保存魔术发生在'新的'MFC功能包中,特别是在SaveState
方法中,例如CMFCToolbar :: Savestate。
为了利用此优势,您需要升级工具栏和菜单以使用较新的控件,并将您的应用程序升级到从Cwinappex继承。我建议您使用基于MFC向导的新应用程序作为如何升级旧MFC应用的指南。
大多数信息都保存在CPANE :: SAVESTATE()中,因此,如果要保存某些组件的状态,则需要使用从CPANE得出的类。(有关更多信息,这里是类层次结构)。
保存窗口状态的过程是通过cframeimpl :: OnClosingMainFrame()启动的。此功能依次调用cwinappex :: savestate(),该功能保存了某些应用程序设置,然后拨打了cmfctoolbar的所有实例(它们将自己添加到CMFCToolbars的全局列表中,请访问otCreate)。以类似的方式保存了所有可码头窗格,但列表属于您的主框架。然后保存主框架的potitioin和大小。CViews和Cframewnds不太喜欢,因为我发现并尝试过的是,保存的唯一信息是可见性。
我使用了那个loooong。如果我正确提醒它,则应在调用基类方法之前将想要的信息保存在覆盖的CWinApp::ExitInstance()
中,然后将其加载到CWinApp::InitInstance
中。请确保允许默认值,因为在第一次运行时,不会加载,不要忘记致电(或复制)基类。
- 试图在visual studio上用C++创建一个桌面应用程序
- FFmpeg:制作一个应用程序比直接使用ffmepg更好吗
- 在C应用程序中运行C++(带有STL)函数
- 使用VerQueryValue检索应用程序的文件描述
- Qt C++静态thread_local QNetworkAccessManager是线程应用程序的好选择吗
- 使用调试/崩溃报告将应用程序部署到客户端
- C++控制台应用程序阻止退出
- 码头化的C++应用程序是否向后兼容早期的内核版本
- 将应用程序从32位移植到64位时出现问题
- 如何改变c++应用程序的视觉效果
- WM_CTLCOLORSTATIC从未在WIN32应用程序中触发
- PC中的程序和PHONE中的本机描述应用程序之间的数据连接
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- 示例外壳应用程序显示的 V8 "segmentation fault (core dumped)"错误
- phytec phyBOARD iMX-6在从闪存而不是SD卡运行qt5 opengles应用程序时表现不佳(FPS减半
- 为什么导入Mixed native/CLR lib.dll的本机C++应用程序没有在Mixed lib.dll中的外部变
- 应用程序如何检测缩放和监视Windows 10上的布局更改
- 如何保存MFC应用程序的布局设置
- 笔记应用程序的Qt复杂布局
- 将应用程序的主窗口 GUI 布局更改为在代码中