支持类似QQ换肤的功能了,开源UI组件库FreeCL 2.00发布

来源:互联网 发布:java线程池参数 编辑:程序博客网 时间:2024/04/20 14:20

FreeCL是一款中国人开发的、开源的、免费的、基于Windows系统的皮肤组件库,采用C++语言开发,利用 PME(Property+Method+Event)编程模式,实现了属性语法功能,包含众多常用的Windows标准控件、通用控件、Shell控件以及通用对话框。此版本对原来1.03版作了大幅改造,修正了所发现的各种Bug,进一步改善了容错能力,也增加了新的控件,加入了诸多XP系统、 Vista所特有的功能。
FreeCL 2.00包含丰富的特性:
1) 诸多C++高级特性:泛型模板的运用、OOP优势的发挥,可供C++爱好者参考;
2) 支持时髦的换肤功能;
3) 支持内置UI编辑功能;
4) 支持系统Shell控件;
5) 支持XP主题风格控件;
6) 支持Visual Studio风格菜单;
7) 支持IE浏览器风格工具栏;
8) 支持多种轻3D风格控件;
9) 支持自定义背景皮肤自绘,前景轮廓自绘;
9) 支持彩色文本、彩色背景、位图背景、透明背景;
10)支持属性语法的控制功能;
11)42000行源代码完全呈现:揭示神秘的换肤原理;
12)详实的注释文档,简洁的代码风格,高效傻瓜化的使用方法:省时、省心、尤其省钱;
英文下载地址(免注册):http://www.filefront.com/14763057/FreeCL_Skin_2.00.zip
中文下载地址(需注册):http://download.csdn.net/source/1758186
截图地址:            http://blog.sina.com.cn/s/blog_4c3538470100aoq0.html
编译器支持:
Borland Turbo C++ 2006
Microsoft Visual C++ 2005 Express SP1(Express版不带SDK,需另外安装SDK,其他如Team版其SDK可能需要升级)
Microsoft Visual C++ 2008 Express SP1
Dev C++ 4.9.9.2(此版SDK过于陈旧,需手动更新SDK中必要文件)
最低SDK版本要求:
Platform SDK for Windows Server 2003 R2(用户最好到微软网站搜索下载其最新版本)
此版的重要改进包括:
(1) 重写了底层事件驱动模型:现已完全改变了原来对每一个控件安装自有的窗口过程来捕捉消息的方法,统一在WinControl的 OnControlCreate()中安装通用的消息回调例程,改变了以往满天飞的static回调例程。另外所有重要的消息都已实现相应的虚函数处理,若有必要,任何控件只需重载必要的消息虚函数就可实现消息的特殊处理,这个模式与VCL的消息处理十分类似,因此就整个架构变得灵活了、顺溜了,代码的可读性和可维护性有较大的改善。
(2) 加入了换肤功能:现在的软件好像流行换肤,包括常见的聊天工具、下载工具、播放器等,都能换肤。其实换肤基本上就是对窗口的背景涂刷过程进行自定义的处理而不采用系统的默认处理。主要是设置其背景颜色或者背景位图,背景位图需要美术人员事先画好再编译到程序中去,当然也可使用外部图片文件的形式。除了个别控件外,FreeCL中的控件现在基本都实现了换肤功能。
(3) 针对每一个控件的消息而编写的功能函数与事件触发都进行了重新检查,这是一项艰苦的劳动,因为这些消息数目极多。作者认真核对了在SDK文档中每一个消息说明,加强了函数的参数校验和错误处理,进一步改进代码的稳定性。此版把FreeCL全部源码彻底翻新,也参考了VCL的代码,因此功能增强了不少,同时也逮捕一大批Bug。另外头文件接口部分写的注释文档也被仔细修订了,确保不熟悉SDK的新手也能容易理解函数、属性的功能,以前写得有点乱,因此头文件的美观度和严谨性都有进步

原创粉丝点击