《 BCG 原创 :系列 四》 为应用程序设置不同的风格

(1)       在CMainFrame::OnCreate的开始加入应用程序可视化的风格。

其函数如下:

CBCGPVisualManager::SetDefaultManager (RUNTIME_CLASS (manager));

         其中manager的取值与风格对照如下:

CBCGPVisualManager

MS Office 2000/VC++ 6.0 look

CBCGPVisualManagerXP

MS Office XP/Visual Studio.NET look

CBCGPVisualManager2003

MS Office 2003 look

CBCGPVisualManagerVS2005

Visual Studio 2005 look

CBCGPWinXPVisualManager

Native Windows XP/Vista/Windows 7 look.

CBCGPVisualManager2007

MS Office 2007 look

CBCGPVisualManagerVS2008

Visual Studio 2008 look

CBCGPVisualManagerVS2010

Visual Studio 2010 look

CBCGPVisualManager2010

MS Office 2010 look

CBCGPVisualManagerScenic

Windows 7 Ribbon look.

 

 

(2)在设置 2007的风格之前,可以设置对应的颜色

         CBCGPVisualManager2007::SetStyle(COLOR);

e.g.

         CBCGPVisualManager2007::SetStyle(CBCGPVisualManager2007::VS2007_LunaBlue);

COLOR 的对应选项为:

CBCGPVisualManager2007::VS2007_LunaBlue

蓝色

CBCGPVisualManager2007::VS2007_ObsidianBlack

黑色

CCBCGPVisualManager2007::VS2007_Silver

银色

CBCGPVisualManager2007::VS2007_Aqua

实践:

  1. 添加菜单项,用于表示不同的风格

 

  1. 2.       为这五个菜单项添加消息映射

     ON_COMMAND_RANGE(ID_VIEW_APPLOOK_2003,ID_VIEW_APPLOOK_2007_4, onMyAppLook)

 

  1. 3.  消息响应函数

(1)在CMainFram 类中添加声明

          afx_msg  void onMyAppLook(UINT  id);

 

(2)实现 函数  onMyAppLook(UINT  id)

使用到的方法:

      CBCGPVisualManager2007::SetCustomColor((COLORREF)-1);

     03风格:

          CBCGPVisualManager::SetDefaultManager(RUNTIME_CLASS(CBCGPVisualManager2003));

    07风格:(先设置颜色 ,再设置为07 风格)

          CBCGPVisualManager2007::SetStyle(CBCGPVisualManager2007::VS2007_LunaBlue);

          CBCGPVisualManager::SetDefaultManager(RUNTIME_CLASS(CBCGPVisualManager2007));

 

 

代码:

 

         void CMainFrame::onMyAppLook(UINT  id)

      {

                CBCGPVisualManager2007::SetCustomColor((COLORREF)-1);

            switch(id)

           {

                case ID_VIEW_APPLOOK_2003:

            CBCGPVisualManager::SetDefaultManager(RUNTIME_CLASS(CBCGPVisualManager2003));

            break;

 

            case ID_VIEW_APPLOOK_2007_1:

           CBCGPVisualManager2007::SetStyle(CBCGPVisualManager2007::VS2007_LunaBlue);

            CBCGPVisualManager::SetDefaultManager(RUNTIME_CLASS(CBCGPVisualManager2007));

           break;

       case ID_VIEW_APPLOOK_2007_2:

           CBCGPVisualManager2007::SetStyle(CBCGPVisualManager2007::VS2007_ObsidianBlack);

           CBCGPVisualManager::SetDefaultManager(RUNTIME_CLASS(CBCGPVisualManager2007));

           break;

          

       case ID_VIEW_APPLOOK_2007_3:

 

           CBCGPVisualManager2007::SetStyle(CBCGPVisualManager2007::VS2007_Silver);

           CBCGPVisualManager::SetDefaultManager(RUNTIME_CLASS(CBCGPVisualManager2007));

           break;

       case ID_VIEW_APPLOOK_2007_4:

           CBCGPVisualManager2007::SetStyle(CBCGPVisualManager2007::VS2007_Aqua);

           CBCGPVisualManager::SetDefaultManager(RUNTIME_CLASS(CBCGPVisualManager2007));

           break;

       }

  }

 

原文地址:https://www.cnblogs.com/gdutbean/p/2380261.html