在 WTL 中保存和恢复窗口外观






4.71/5 (9投票s)
2001 年 5 月 30 日

101481

1444
简单但实用的类,用于保存/恢复窗口外观
概述
现在您可以在 WTL 项目中使用简单的类 CWindowSettings
、CReBarSettings
、CSplitterSettings
,以快速保存/恢复窗口外观(大小、位置)。设置保存在注册表中。还保存了 ReBar 控件的其他属性,包括带顺序和位置。因此,您的窗口下次打开时将显示为用户自定义的样子。
如何在您的 WTL 应用程序中使用这些类
- 将两个文件 RegSettings.h 和 RegSettings.cpp 添加到您的项目中。
- 将头文件 RegSettings.h 添加到将使用这些类的框架或窗口源代码中。
- 通过将以下代码添加到显示窗口的方法(主框架的全局
Run
函数)中,从注册表中加载窗口设置。CWindowSettings ws; if(ws.Load("Software\\WTLApps\\DemoApp", "MainFrame")) ws.ApplyTo(wndMain, nCmdShow); else wndMain.ShowWindow(nCmdShow);
- 通过将以下代码添加到框架类的
OnCreate
方法中,从注册表中加载 Rebar 设置。CReBarSettings rs; CReBarCtrl rbc = m_hWndToolBar; if(rs.Load("Software\\WTLApps\\DemoApp", "ReBar")) rs.ApplyTo(rbc);
- 通过将以下代码添加到框架类的
OnDestroy
方法中,将窗口和 Rebar 设置保存到注册表中。CWindowSettings ws; ws.GetFrom(*this); ws.Save("Software\\WTLApps\\DemoApp", "MainFrame"); CReBarSettings rs; CReBarCtrl rbc = m_hWndToolBar; rs.GetFrom(rbc); rs.Save("Software\\WTLApps\\DemoApp", "ReBar");
您还可以使用
CSplitterSettings
类保存/恢复分割器位置。