当前位置: 代码迷 >> VC >> [分享]BCGControlBarPro静态链接兑现方法
  详细解决方案

[分享]BCGControlBarPro静态链接兑现方法

热度:4430   发布时间:2013-02-25 00:00:00.0
[分享]BCGControlBarPro静态链接实现方法。
[分享]BCGControlBarPro静态链接实现方法。
昨天应一个网友的要求,测试了一下BCGControlBarPro静态链接实现方法。采用BCG向导生成的静态链接的项目会报错,提示资源及DLL找不到。经过测试,解决了这个问题,特共享出来给大家一起分享。

环境:VS 2008 TE
      BCGPro 10.30

项目属性:Static Link
          Unicode
          Ribbon

我的方法是将相关的资源复制到项目下。
1、将BCGSoft\BCGControlBarPro\BCGCBPro\Styles下的
BCGPStyle2007Luna.rc
BCGPStyle2007Obsidian.rc
BCGPStyle2007Silver.rc
BCGPStyle2007Aqua.rc
BCGPStyleCarbon.rc
BCGPStyleScenic.rc
BCGPStyle2007Luna.rc2
BCGPStyle2007Obsidian.rc2
BCGPStyle2007Silver.rc2
BCGPStyle2007Aqua.rc2
BCGPStyleCarbon.rc2
BCGPStyleScenic.rc2
复制到你的项目的主目录下,记得与你的rc文件的目录相同。

2、将BCGSoft\BCGControlBarPro\BCGCBPro\Styles下的
Carbon
Office 2007 (aqua)
Office 2007 (luna - blue)
Office 2007 (obsidian - black)
Office 2007 (silver)
Scenic
目录复制到你的项目的主目录下。

3、在资源视图的对话框上点击右键,选择“资源包括(L)...”,在“编译时指令”中的最后加上
#include "BCGPStyle2007Luna.rc"
#include "BCGPStyle2007Obsidian.rc"
#include "BCGPStyle2007Silver.rc"
#include "BCGPStyle2007Aqua.rc"
#include "BCGPStyleCarbon.rc"
#include "BCGPStyleScenic.rc"

4、编译即可。

另外BCG本身提供了静态链接的方法:

#if !defined _AFXDLL || defined _BCGCBPRO_STATIC_
TRACE(_T("\r\nImportant: to enable Office 2007 look in static link, you need:\r\n"));
TRACE(_T("1. Open \"Resource Includes\" dialog and add resource files:\r\n"));
TRACE(_T("<BCGCBPro-Path>\\styles\\BCGPStyle2007Luna.rc\r\n"));
TRACE(_T("<BCGCBPro-Path>\\styles\\BCGPStyle2007Obsidian.rc\r\n"));
TRACE(_T("<BCGCBPro-Path>\\styles\\BCGPStyle2007Silver.rc\r\n"));
TRACE(_T("<BCGCBPro-Path>\\styles\\BCGPStyle2007Aqua.rc\r\n"));
TRACE(_T("2. Add path to this folder to \"Additional Resource Include Directories\"\r\n"));
TRACE(_T("<BCGCBPro-Path>\\styles\r\n\r\n"));
ASSERT (FALSE);
#endif

该方法不需要进行复制,
1、在资源包括中添加资源项;
2、在资源视图中点击右键,选属性->资源->常规->附加包含目录中添加路径。
我没有尝试成功,所以采用了全复制资源文件的方法。
有哪位尝试出来后能不能和大家共享下?!

redleafe
2009.09.07

------解决方案--------------------------------------------------------
谢谢,不过这样的问题问他们客服更好。
------解决方案--------------------------------------------------------
和和.楼主是好人.偶刚用vc.之前用的是C#.因这个软件是怕别人反骗出源码.须要这样做.(C#源码加密后会有莫名的bug).想捡懒用delphi.不过让我头大了.语法不习惯.哈哈 :)
  相关解决方案