BCGControlBar 减少链接库大小

来源:互联网 发布:电脑短信软件 编辑:程序博客网 时间:2024/06/06 03:26

        使用BCGControlBar库,但是并不需要所有的功能,这样会使得链接库过大,BCG提供BCGCBProConfig.h文件,可以选择性的去掉某些不需要的功能,BCGCBProConfig.h内容如下:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19//--------------------------------------------------- 
// Uncomment some of these definitions to exlude 
// non-required features and reduce the library size: 
//--------------------------------------------------- 
 
//#define BCGP_EXCLUDE_GRID_CTRL 
//#define BCGP_EXCLUDE_GANTT 
//#define BCGP_EXCLUDE_PLANNER 
//#define BCGP_EXCLUDE_EDIT_CTRL 
//#define BCGP_EXCLUDE_PROP_LIST 
//#define BCGP_EXCLUDE_POPUP_WINDOW 
//#define BCGP_EXCLUDE_SHELL 
//#define BCGP_EXCLUDE_TOOLBOX 
//#define BCGP_EXCLUDE_HOT_SPOT_IMAGE 
//#define BCGP_EXCLUDE_ANIM_CTRL 
//#define BCGP_EXCLUDE_TASK_PANE 
//#define BCGP_EXCLUDE_RIBBON 
//#define BCGP_EXCLUDE_PNG_SUPPORT 
//#define BCGP_EXCLUDE_GDI_PLUS    // For VS.NET or higher only 
可类似修改成如下:
01
02
03
04
05
06
07
08
09
10
11
12
13
14#define BCGP_EXCLUDE_GRID_CTRL            //表格控件 
#define BCGP_EXCLUDE_GANTT                //甘特图控件 
#define BCGP_EXCLUDE_PLANNER              //计划类控件 
//#define BCGP_EXCLUDE_EDIT_CTRL          //编辑器控件 
#define BCGP_EXCLUDE_PROP_LIST            //属性列表控件 
#define BCGP_EXCLUDE_POPUP_WINDOW         //弹出(桌面提示)窗口 
#define BCGP_EXCLUDE_SHELL                //Shell外壳控件 
#define BCGP_EXCLUDE_TOOLBOX              //工具箱 
#define BCGP_EXCLUDE_HOT_SPOT_IMAGE       //图像热点控件 
#define BCGP_EXCLUDE_ANIM_CTRL            //动画控件 
#define BCGP_EXCLUDE_TASK_PANE            //任务面板 
//#define BCGP_EXCLUDE_RIBBON             //Ribbon 
//#define BCGP_EXCLUDE_PNG_SUPPORT        //png支持 
//#define BCGP_EXCLUDE_GDI_PLUS           // For VS.NET or higher only   GDI+库 
备注:12.0版本如上开启编译指令时,会出现编译错误,具体修改:
1.BCGPVisualManagerVS2010.cpp需要在函数OnFillGridHeaderBackground和OnFillReportCtrlRowBackground添加编译指令:
#ifndef BCGP_EXCLUDE_GRID_CTRL 
void CBCGPVisualManagerVS2010::OnFillGridHeaderBackground (CBCGPGridCtrl* pCtrl, CDC* pDC, CRect rect) 
…… 
COLORREF CBCGPVisualManagerVS2010::OnFillReportCtrlRowBackground (CBCGPGridCtrl* pCtrl, CDC* pDC, 
                                                CRect rectFill, BOOL bSelected, BOOL bGroup) 
#endif // BCGP_EXCLUDE_GRID_CTRL 
2.BCGPVisualManager2010.cpp添加以下头文件:
#include "BCGPColorBar.h" 
3.BCGPVisualManagerVS2010.cpp的函数OnFillBarBackground里面,添加编译指令:
#ifndef BCGP_EXCLUDE_TOOLBOX 
     if (pBar->IsKindOf (RUNTIME_CLASS (CBCGPToolBoxPage)) || pBar->IsKindOf (RUNTIME_CLASS (CBCGPToolBox)) || pBar->IsKindOf (RUNTIME_CLASS (CBCGPToolBoxEx))) 
    { 
        pDC->FillRect(rectClip, &m_brWhite); 
        return
    } 
#endif // BCGP_EXCLUDE_TOOLBOX 
4.BCGPVisualManagerVS2010.cpp添加头文件:
#include "BCGPMiniFrameWnd.h" 
5.BCGPShellBreadcrumb.h、BCGPShellBreadcrumb.cpp添加编译指令:
#ifndef BCGP_EXCLUDE_SHELL 
... 
#endif    // BCGP_EXCLUDE_SHELL 


原创粉丝点击