BCG界面庫


之前用過BCG界面庫中的表格控件,深感其強大,現在再來用一下其它的。

一.   關於BCGControlBar。

BCGControlBar是一個基於MFC的擴展庫,您可以通過完全的用戶化操作構成一些類似於Microsoft Office 2000/XP/2003和Microsoft Visual Studio.NET的應用程序(用戶工具欄、菜單、鍵盤等等)。BCGControlBar庫包含了大約150多個經過精心設計,測試和具有完備文檔的MFC擴展類。這些都可以很容易的應用於您的應用程序,節省大量的開發和調試時間。BCGControlBar專業版的擴展庫,包含了大量高級界面,比如,可分離的表窗口,自動隱藏窗體,托拽的時候能夠顯示貼靠控件和工具欄的內容,新增帖靠算法(類似於在Microsoft Visual Studio.NET環境和Microsoft Visio中引入的算法),具有可分離的快捷欄,制表工具欄,語法檢驗和IntelliSense-style支持的文本控件,完全的平面視覺等等。除了與MFC兼容的控制欄的執行部分,這個庫的其它結構完全是由我們自己設計的。大部分新的系統特性都是由庫的內核自動激活和管理的。

二.   下載並安裝BCGControlBar。

在BCGSoft的官網(http://www.bcgsoft.com/)選擇BCGControlBar,並下載。由於BCGControlBar是一個付費的軟件,所以,在其官網上只能免費下載到其evaluation version(評估版本)。將下載的BCGControlBarProEvaluation.exe打開,就可以進行BCGControlBar的安裝了。默認會安裝在C:\Program Files\BCGSoft\BCGControlBar Professional Evaluation路徑下。

三.   使用BCGControlBar創建工程。

  1. 安裝的BCGControlBar已經將要用到的庫進行了編譯與鏈接,並放在了安裝目錄(默認為:C:\Program Files\BCGSoft\BCGControlBar Professional Evaluation)的bin目錄下。

 

BCGControlBar要使用的dll也已經放到system32目錄下。同時,在BCGCBPro目錄下也有其需要的頭文件。在其安裝目錄下的Examples中有其隨帶的Demo程序,可以運行,並看到其運行效果。

 

在編譯之前,要先設置其附加包含目錄和附加庫目錄

 

vc6.0在其tools>>options>>directoris下進行設置。在show directories for選擇include files,添加BCGControlBar安裝目錄下的BCGCBPro目錄。

 

然后再選擇show directories for下的Library files並添加BCGControlBar安裝目錄下的bin目錄。

 

vs2010中在工程的屬性頁中的配置屬性>>VC++目錄下可以設置包含目錄的庫目錄。

 

設置完成后就可以編譯運行,看到所編譯的例子的執行效果。

 

 

 

  1. 安裝BCGControlBar后可以在新建項目的時候選擇BCGCBPro AppWizard向導進行項目的創建。在其step中會添加與BCGControlBar有關的一些選項,可以在創建的時候對其進行相應的設置。設置完成后,選擇finish就可以創建相應的BCGControlBar項目。在其中可以很方便的使用其控件。
  2. 對於已經存在的項目,也可以通過修改其中的一些選項和代碼,使其變成BCGControlBar的項目,可以使用BCGControlBar。在使用之前先要設置其包含目錄和其庫目錄,其設置方法見以上1之中。其具體的實現步驟如下(在修改之前最好對工程進行一個備份):

(1)       在頭文件stdafx.h中加入#include "BCGCBProInc.h"。

(2)       為自己的App類添加基類CBCGPWorkspace。如:class CMyApp : public CWinApp, public CBCGPWorkspace。

(3)       在App類的InitInstance()函數中添加AfxOleInit()。

(4)       在InitInstance()函數中添加SetRegistryKey(_T("MyCompany\\MyProduct"))。

(5)       在App類的ExitINstance()函數中添加BCGCBProCleanUp()。

(6)       將MDI中的一些類用BCGControlBar來進行轉換:

CFrameWnd -> CBCGPFrameWnd

CMDIFrameWnd -> CBCGPMDIFrameWnd

CMDIChildWnd -> CBCGPMDIChildWnd

CToolBar -> CBCGPToolBar

CStatusBar ->CBCGPStatusBar.

可以在StdAfx.h中添加如下代碼

#define CFrameWnd CBCGPFrameWnd

#define CMDIFrameWnd CBCGPMDIFrameWnd

#define CMDIChildWnd CBCGPMDIChildWnd

#define CToolBar CBCGPToolBar

#define CStatusBar CBCGPStatusBar

(7)       如果希望添加Microsoft Office 2007/2010-style Ribbon Bar,可以參考以下文章,學習這些技術:

Office 2007/2010-style Ribbon Bar

Ribbon Backstage View - Walkthrough

Ribbon Designer

(8)       為CmaimFrame類添加嵌入菜單對象。在CmainFrame類中添加成員變量CBCGPMenuBar m_wndMenuBar。然后在其OnCreate函數中加入如下代碼:

m_wndMenuBar.Create (this);

m_wndMenuBar.EnableDocking (CBRS_ALIGN_ANY);

DockControlBar (&m_wndMenuBar);

(9)       在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.

 

(10)   生成程序,並執行它。

 

(11)使用BCG界面庫給cdialog換膚很簡單

將cdialog或是cdialogex改為cbcgpdialog  並在init中加上

    CBCGPVisualManager2007:: SetStyle ( CBCGPVisualManager2007:: VS2007_LunaBlue); 
    CBCGPVisualManager:: SetDefaultManager ( RUNTIME_CLASS ( CBCGPVisualManager2007)); 
    EnableVisualManagerStyle(true,true); 

看一看炫酷的界面吧。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM