BCGControlBarPro静态链接实现方法

参考链接:https://blog.****.net/mfkjq/article/details/53541729
前段时间在做autocad二次开发c++,其中的一些界面用到了bcg库,但是项目中的bcg使用动态链接,在cad的二次开发中就有一个巨坑的问题:通过注册表的方式自动在cad中加载自定义arx的时候,总是链接不到BCG的dll,cad2007就是个奇葩,即便在cad中设置了搜索路径也无效,没办法了,bcg只能采用静态链接的方式.奈何自己水平有限,不管怎么看教程就是搞不定o(╥﹏╥)o.今天在编译一个mt版本的exe,又用到了bcg,还得静态链接,看了上面大神们的教程后终于实验成功了,以此文章详细记录下来.

  1. 新建一个MFC对话框,对话框采用/mt的方式链接mfc库.如下图所示:BCGControlBarPro静态链接实现方法
  2. 引用bcg静态库:在stdafx.h中加入如下代码:

    #include <BCGCBProInc.h>
    #define CDialog CBCGPDialog

  3. 找到对话框的初始化函数:OnInitDialog() ,加入如下代码

    CBCGPVisualManager2007::SetStyle(CBCGPVisualManager2007::VS2007_LunaBlue);
    CBCGPVisualManager::SetDefaultManager(RUNTIME_CLASS(CBCGPVisualManager2007));
    EnableVisualManagerStyle();
    如下图所示:
    BCGControlBarPro静态链接实现方法

  4. 在资源文件中引入bcg的样式资源文件,如下图所示:
    BCGControlBarPro静态链接实现方法

  5. 添加bcg资源目录到项目资源引用路径中,如下图所示:
    BCGControlBarPro静态链接实现方法

  6. 效果图:
    BCGControlBarPro静态链接实现方法

  7. 说明:
    1.项目是在vs2008中测试的
    2.bcg采用的bcg1610版本
    3.bcg静态库也要采用/mt的方式编译哦

  8. 演示dem下载地址