Microsoft VS2008 MFC 与BCGControlBar的区别

http://www.evget.com/zh-CN/info/catalog/15748.html



最近很多朋友问Microsoft VS2008中自带的MFC与BCGControlBar MFC有什么区别?

其实我们可以先搞清楚其中的关系,BCGSOFT开发的BCGControlBar MFC组件是全世界最早最成功的MFC组件,正因为此Microsoft 与BCGSOFT在2007年达成战略合作,BCGsoft授权给Microsoft 微软,让VS2008整合了BCGControlBar的部分功能。而现在新的正在出售的BCGControlBar是在BCGControlBar专业版的基础上建立的,Microsoft VS2008中并没有包含这些先进控件的功能,诸如 grid, editor, plannner 等。

下面是一些用户使用VS2008集成的BCGControlBar 后的体会:

1、 集成得非常不完整。BCGControlBar 的大部分组件的最基础的功能都有集成,但是由于只有最主要的功能被集成,就限制了开发者的发挥。比如 Ribbon 界面,表面上看似很具优势,但是真正使用下来你才发现,这个 Ribbon 界面是非常不完整的。Ribbon 的主 Frame 风格在 Vista Aero 之外的场合,是忽略 Windows 主题和传统风格的 Office 2007 窗口边框风格,而这个边框风格是不可控的,除了主 Frame,所有其他窗口都不具备这个风格。想像一个程序,在 Windows XP 里运行的主界面边框像 Office 2007,而除了主界面的其他所有内容都是 Windows XP 的 Luna 风格,那是多么怪异的一种界面。所以 Ribbon 的使用范围就被软性限制在主界面了。但是有多少软件只有主界面,没有对话框(包括除主窗口之外的所有窗口)

2、BCGControlBar 大部分组件只集成了基础功能,显然如果要让我们在整套软件的开发工作得到统一,很多工作就必须在原本这些基础功能上面进行扩展。但是 BCGControlBar 作为一个即成产品直接套用就没有严重的问题,但是当它不完整,很多工作要在原先的组件上扩展的时候,甚至即使是完整的,我们仍然经常会遇到需要在原基础类上面进行扩展的时候,你将发现你正在挑战一项高难度的工作,而且不久之后你会怀疑你的工作并不比微软的集成工作更轻松。
3、 用 ToolBar 做自己工具的容器?没门!
4、 ToolBar Label?没有!
5、ToolBar CheckBox?改用 Ribbon!
6、 CMFCShellTreeCtrl 唯一给你定制的地方是 IShellFolder::EnumObjects 的其中一个参数,这个参数无论怎么组合,都得不到一个和 BrowseForFolder 一样的只有驱动器和文件夹的列表,总是会把 ZIP 文件认为是文件夹,想要在列表中过滤掉不想要的行(比如你不想要列出回收站),唯一的方法是自己完全重写整个 EnumObjects 的调用过程!不过如果自行派生 CMFCShellTreeCtrl,你的程序就有可能无法通过 Link,因为 CShellManager 有个 bug,动态链接 MFC 库使用 CShellManager 会出错。
7、想动态更换工具栏按钮的图标,菜单图标也会自动被更换,菜单和工具栏的图标在一开始可以分别指定不同尺寸,但是动态更换的图标就不能!
8、 想运行时隐藏工具栏的一个按钮,它会记录进注册表,下次程序启动除非你的程序显式的显示这个按钮,否则这个按钮就永远消失,你想找一个暂时性的方法?没有!
9、 看中了 Ribbon 的颜色方案,又喜欢 VS.net 2005 的外观风格,没有任何方式可以组合这两者,唯一可以做得到的就是根据 Ribbon 和 VS.net 2005 的 VisualManauger 那几千行代码,自己重新写一个!
10、 最后值得安慰的好处就是类似 CSettingStore,CDrawingManager 之类的类,还是比较实用的。只是里面我用过的大部分觉得实用的类,我自己已经有过封装,因为也是三两下的简单事情。

由此可以看出,Microsoft VS2008只是集成了BCGControlBar 老版本的部分功能,这与BCGControlBar Library Pro Edition v15 有本质的区别。

详情请见官方说明:http://www.bcgsoft.com/cgi-bin/forum/topic.asp?TOPIC_ID=4476 


(慧都控件网版权所有,转载请注明出处,否则追究法律责任)
本站文章除注明转载外,均为本站原创或翻译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:慧都控件网 [ http://www.evget.com/]
本文地址: http://www.evget.com/zh-CN/info/catalog/15748.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
12.0完整版本下载地址: BCGControlBar Library Professional Edition v11.00完整源代码(含帮助文件和VS2008中文向导) 第二部分下载地址:http://download.csdn.net/source/2033250 使用方法: 1、解压至C:\Program Files目录下(解压密码:xiaoqing); 2、双击导入注册表C:\Program Files\BCGSoft\BCGControlBarPro\bcgcontrolbarpro.11.00.reg; 3、运行向导C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBProIntegrationWizard.exe。 与其它不同之处: 1、包含完整的源代码、帮助文件; 2、已经对 BCGPAppWizard2005 中的向导进行汉化,在 Visual Studio 2008 中可使用中文向导 BCGPAppWizard (参考 Visual Studio 2008 原有的中文向导,如果您想学习汉化向导,参考目录是:C:\Program Files\Microsoft Visual Studio 9.0\VC\VCWizards\AppWiz\MFC\Application\templates\2052) 关于静态链接: 1、首先必须在运行向导BCGCBProIntegrationWizard.exe时已经编译静态; 2、在 Visual Studio 建立项目向导时,选择静态链接即可。 关于使用 Office2007、2010 风格: 如果您使用了这些新风格,必须在项目中包括这些资源,否则 debug 版本启动时会报错(缺少资源,release版本不会提示,但显示不正常),具体有二种方法: 1、直接在“解决方案资源管理器”-“资源文件”中点右键,“添加”-“现有项”,把C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBPro\Styles中所有扩展名为 .rc 的资源包括进来即可。 2、直接在“资源视图”-“您的项目”上点右键,选择“资源包括”,在“资源包括”中的“编译时指令”中的#include "BCGCBPro.rc"后面添加以下代码: #include "C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBPro\Styles\BCGPStyle2007Aqua.rc" #include "C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBPro\Styles\BCGPStyle2007Luna.rc" #include "C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBPro\Styles\BCGPStyle2007Obsidian.rc" #include "C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBPro\Styles\BCGPStyle2007Silver.rc" #include "C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBPro\Styles\BCGPStyle2010White.rc" #include "C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBPro\Styles\BCGPStyleCarbon.rc" #include "C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBPro\Styles\BCGPStyleScenic.rc" 3、如果使用动态链接,请手工编译C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBPro\Styles\Office2007_styles.sln或者build_all.dsp 仅为学习使用,下载后24小时内删除,请支持 BCGSoft 购买正版,本人不提供技术支持,不对任何负责。 尊重他人劳动成果,欢迎与大家分享成果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值