bcgcontrolbar使用

 

 

 

 

 

如何在已有的VC++ MDI应用程序中使用BCG界面库

1,将BCG/BCGCBPro目录路径添加到“项目属性->C/C++ ->常规 ->附加包含目录”中,同时将BCG/Bin目录路径添加到“项目属性->链接器 ->常规 ->附加库目录”中。

2,确保在CWinApp派生类(设为CMyApp)的InitInstance()成员函数中调用AfxOleInit();

3,在ExitInstance()函数中添加:

       CleanState();
       BCGCBProCleanUp();

4,在stdafx.h中添加

  #include "bcg/BCGCBProInc.h"

5,为CMyApp添加基类,如下:

  class CMyApp:public CWinApp,public CBCGPWorkspace

6,设置个性化的数据在注册表中的存放位置和需要个性化的特性。在CMyApp::InitInstance()函数中添加:

   SetRegistryBase(_T("Settings"));

   InitMouseManager();
   InitContextMenuManager();
   InitKeyboardManager();

7,将CMDIFrameWnd 修改为 CBCGPMDIFrameWnd,注意MainFrm.h和MainFrm.cpp中的所有CMDIFrameWnd都要改。

8,将CMDIChildWnd改成CBCGPMDIChildWnd, .h和.cpp中的都要改。

9,将CToolBar  m_wndToolBar修改成CBCGPToolBar m_wndToolBar,并在你的CMainFrame类中添加一个CBCGPMenuBar类型的成员m_wndMenuBar,如下示:

    CBCGPMenuBar    m_wndMenuBar;     // New menu bar
    CBCGPToolBar      m_wndToolBar;     
// Application toolbar

10,为使菜单条生效并且可停靠,在CMainFrame::OnCreate()函数中添加以下内容:

    m_wndMenuBar.Create...

     m_wndMenuBar.SetBarStyle...

    m_wndMenuBar.EnableDocking (CBRS_ALIGN_ANY);
    DockControlBar (&m_wndMenuBar);

说明:你可以在你的应用程序中使用多个CBCGPToolBar,它们对应的位图将会自动地合并在一张位图上,然而,你只可以使用一个CBCGPMenuBar对象。

    至此基本设置已经完成,此时你的程序应该可以正常地编译运行。下面介绍如何为应用程序设置不同的风格。

1,在菜单栏上添加一个弹出菜单,在其中添加一个菜单项,上面的文字分别为"Office 2003","Office 2007(blue)","Office 2007(black)","Office 2007(silver)","Office 2007(aqua)",对应的菜单项ID分别为ID_VIEW_APPLOOK_2003, ID_VIEW_APPLOOK_2007_1,ID_VIEW_APPLOOK_2007_2,ID_VIEW_APPLOOK_2007_3,ID_VIEW_APPLOOK_2007_4。

2,为这五个菜单添加消息响应:

  ON_COMMAND_RANGE(ID_VIEW_APPLOOK_2003, ID_VIEW_APPLOOK_2007_4, OnAppLook)

   void CMainFrame::OnAppLook(UINT id){
         CWaitCursor wait;

         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_Aqua);

                       CBCGPVisualManager::SetDefaultManager (RUNTIME_CLASS (CBCGPVisualManager2007));

                       break;  

               ...

         }
        RedrawWindow (NULL, NULL, RDW_ALLCHILDREN | RDW_INVALIDATE | RDW_UPDATENOW |RDW_FRAME | RDW_ERASE);

        }

     Office 2007其它的风格样式切换类似ID_VIEW_APPLOOK_2007_1,在此省略。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值