概述
VBCCR(Common Controls Replacement)是由 Krool 开发的一个开源项目,旨在完全替代VB6中的微软通用控件(MS Common Controls)。这个项目最初发布于VBForums论坛,并持续更新至今,已成为VB6开发者最受欢迎的控件库之一。
下载
控件包和demo示例:
https://wwhs.lanzouo.com/iOVtg2y3ligf
原始仓库:Kr00l/VBCCR: VB Common Controls Replacement Library
https://github.com/Kr00l/VBCCR
项目背景
微软的通用控件(如MSCOMCTL.OCX、COMCTL32.OCX等)存在以下问题:
- 依赖外部OCX文件,部署不便
- 不支持Unicode
- 不支持现代Windows主题
- 功能陈旧,缺乏更新
VBCCR通过直接链接到comctl32.dll,完美解决了这些问题,同时提供了更多增强功能。

支持的控件列表
VBCCR可以完全替代以下微软控件:
- MSCOMCTL.OCX/COMCTL32.OCX
- MSCOMCT2.OCX/COMCT232.OCX
- RICHTX32.OCX
- COMDLG32.OCX
- COMCT332.OCX
- MCIWNDX.OCX (VB5自带)
- SYSINFO.OCX
当前包含的具体控件有:
- Animation (动画控件)
- CheckBoxW (复选框)
- ComboBoxW (组合框)
- CommandButtonW (命令按钮)
- CommandLink (命令链接)
- CoolBar (酷栏)
- CommonDialog (通用对话框)
- DTPicker (日期时间选择器)
- FontCombo (字体组合框)
- FrameW (框架)
- HotKey (热键)
- ImageCombo (图像组合框)
- ImageList (图像列表)
- IPAddress (IP地址)
- LabelW (标签)
- LinkLabel (链接标签)
- ListBoxW (列表框)
- ListView (列表视图)
- MCIWnd (媒体控制界面)
- MonthView (月历视图)
- OptionButtonW (选项按钮)
- Pager (分页器)
- ProgressBar (进度条)
- RichTextBox (富文本框)
- Slider (滑块)
- SpinBox (微调框)
- StatusBar (状态栏)
- SysInfo (系统信息)
- TabStrip (标签条)
- TextBoxW (文本框)
- ToolBar (工具栏)
- TreeView (树形视图)
- UpDown (上下控件)
- VirtualCombo (虚拟组合框)
- VListBox (虚拟列表框)
- WindowedLabel (窗口化标签)
主要特性
1. Unicode支持
所有控件都完全支持Unicode,可以在任何语言环境下正常工作。
2. DPI感知
控件完全支持高DPI显示,在不同DPI设置下都能正确显示。
3. 64位兼容
控件已为64位环境做好准备,可以轻松迁移到64位应用程序。
4. 设计时依赖最小化
设计时(IDE)仅依赖一个文件(OLEGuids.tlb),编译后的EXE没有任何外部依赖。
5. 功能增强
相比原版控件,VBCCR增加了大量新属性和方法,如:
- 富文本框的粘贴特殊对话框
- 状态栏面板的图片右对齐选项
- 工具栏按钮的弹出菜单支持
- 文本框的提示文本功能
- 列表视图的文件拖放支持
- 等等
使用优势
- 部署简单:编译后的EXE不依赖任何外部OCX,真正绿色免注册
- 现代外观:支持Windows主题,界面更美观
- 功能丰富:比原版控件提供更多功能
- 性能优化:针对现代系统进行了大量性能优化
- 持续更新:项目活跃,不断修复bug和增加新功能
安装与使用
- 下载最新版VBCCR
- 在VB6 IDE中打开CommonControlsEx.vbp
- 编译生成OCX或直接使用Std-EXE版本
- 在项目中引用编译后的控件
注意:
- 更改”项目名称”时需确保所有窗体都已打开,否则属性会丢失
- 使用SetParent或MoveWindow API时,传递.hWndUserControl而非.hWnd
版本历史
VBCCR自2012年首次发布以来,经历了大量更新和改进。最近的更新包括:
2025年6月:
- ImageCombo控件的各种bug修复
- FontCombo控件的内部改进
- BuddyControl属性的安全检查优化
2025年5月:
- 移除了CommandButtonW等控件的BS_NOTIFY样式
- 改进了CommandButtonW的DroppedDown属性
2025年4月:
- 改进了OLEGuids.tlb以更好地支持IntelliSense
- 修复了LabelW控件的MousePointer属性
2025年3月:
- 修复了FrameW控件的子框架问题
- 添加了IOleInPlaceObjectWindowless接口
2025年1月:
- 状态栏面板新增左右对齐选项
- 列表视图组性能大幅提升
2024年:
- 新增WindowedLabel控件
- 添加了丰富的拖放功能
- 改进了文本框和富文本框的Unicode处理
开发者资源
- GitHub源码:可在GitHub上查看完整源代码
- 详细文档:感谢MountainMan提供的文档
- 示例程序:包含多个演示如何使用各种控件的示例
- 更新工具:方便的更新和编译工具
注意事项
- 标准EXE版本在IDE中可能不够安全,推荐使用OCX版本
- 某些高级功能需要特定Windows版本支持
- 迁移现有项目时需注意部分属性行为可能略有不同
结论
VBCCR控件库是VB6开发者不可或缺的工具,它不仅解决了微软通用控件的诸多限制,还提供了更现代、更强大的功能集。无论是开发新项目还是维护旧项目,VBCCR都能显著提升开发效率和用户体验。
对于仍在维护VB6应用程序的开发者来说,采用VBCCR控件库是使应用程序现代化、提高兼容性和用户体验的最佳途径。