Freecl is a Chinese-developed, open-source, free, Windows-based skin Component Library, developed in C ++ language, using PME (property + method + Event) programming mode, implements the attribute syntax function, including many common Windows standard controls, general controls, shell controls, and general dialog boxes. This version has greatly improved the 1.03 version, corrected various bugs found, further improved the fault tolerance capability, and added new controls, added many unique functions of XP and Vista.
Freecl 2.00 has the following features:
1) Many C ++ advanced features: the application of generic templates and the advantages of OOP can be used by C ++ enthusiasts;
2) supports fashionable skin replacement functions;
3) supports built-in UI editing;
4) supports System Shell controls;
5) supports XP theme style controls;
6) supports Visual Studio menus;
7) supports IE Browser style toolbar;
8) supports a variety of light 3D style controls;
9) supports custom background skin and foreground contour painting;
9) supports color text, color background, bitmap background, and transparent background;
10) supports attribute syntax control;
11) 42000 lines of source code are completely presented: Revealing the mysterious skin replacement principle;
12) detailed comments, concise code style, and efficient and foolish use methods: time-saving, worry-free, and especially cost-effective;
English (free of registration): http://www.filefront.com/14763057/FreeCL_Skin_2.00.zip
English (registration required): http://download.csdn.net/source/1758186
Address: http://blog.sina.com.cn/s/blog_4c3538470100aoq0.html
Compiler support:
Borland Turbo C ++ 2006
Microsoft Visual C ++ 2005 express SP1)
Microsoft Visual C ++ 2008 express SP1
Dev C ++ 4.9.9.2 (this version of the SDK is too old, you need to manually update the necessary files in the SDK)
Minimum SDK version requirements:
Platform SDK for Windows Server 2003 R2 (You are advised to search for the latest version on the Microsoft website)
Important improvements to this version include:
(1) overwrite the underlying event-driven model: the original method for capturing messages when installing the self-contained window for each control has been completely changed, which is unified in oncontrolcreate () of wincontrol () the general message callback routine is installed in, changing the static callback routine of the past. In addition, all important messages have been processed by corresponding virtual functions. If necessary, any control only needs to reload the necessary virtual functions to implement special message processing, this mode is similar to VCL message processing, so the entire architecture becomes flexible and smooth, and the code readability and maintainability are greatly improved.
(2) added the skin replacement function: the current software seems to be popular with skin replacement, including common chat tools, download tools, and players. In fact, the skin change is basically to customize the background Painting Process of the window, rather than using the system's default processing. It mainly sets the background color or background bitmap. The background bitmap needs to be painted by the artist before being compiled into the program. Of course, the form of external image files can also be used. In addition to some controls, the controls in freecl now basically implement the skin replacement function.
(3) functional functions and event triggers written for messages of each control are re-checked. This is a hard task because there are a large number of messages. The author carefully checked every Message description in the SDK documentation, enhanced the parameter verification and error handling of the function, and further improved the code stability. This version completely refurbished all freecl source code and also referred to the VCL code. Therefore, the function has been enhanced a lot and a large number of bugs have also been arrested. In addition, the comments written in the header file interface have been carefully revised to ensure that new users who are not familiar with the SDK can easily understand functions and attributes. Previously, the comments were written in disorder, therefore, the appearance and rigor of header files have been improved.