65.9K
CodeProject 正在变化。 阅读更多。
Home

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

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.71/5 (9投票s)

2001 年 5 月 30 日

viewsIcon

101481

downloadIcon

1444

简单但实用的类,用于保存/恢复窗口外观

概述

现在您可以在 WTL 项目中使用简单的类 CWindowSettingsCReBarSettingsCSplitterSettings,以快速保存/恢复窗口外观(大小、位置)。设置保存在注册表中。还保存了 ReBar 控件的其他属性,包括带顺序和位置。因此,您的窗口下次打开时将显示为用户自定义的样子。

如何在您的 WTL 应用程序中使用这些类

  1. 将两个文件 RegSettings.hRegSettings.cpp 添加到您的项目中。
  2. 将头文件 RegSettings.h 添加到将使用这些类的框架或窗口源代码中。
  3. 通过将以下代码添加到显示窗口的方法(主框架的全局 Run 函数)中,从注册表中加载窗口设置。

    CWindowSettings ws;
    if(ws.Load("Software\\WTLApps\\DemoApp", "MainFrame"))
       ws.ApplyTo(wndMain, nCmdShow);
    else
       wndMain.ShowWindow(nCmdShow);
    
  4. 通过将以下代码添加到框架类的 OnCreate 方法中,从注册表中加载 Rebar 设置。

    CReBarSettings rs;
    CReBarCtrl rbc = m_hWndToolBar;
    if(rs.Load("Software\\WTLApps\\DemoApp", "ReBar"))
      rs.ApplyTo(rbc);
    
  5. 通过将以下代码添加到框架类的 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 类保存/恢复分割器位置。

© . All rights reserved.