本文地址:http://tongxinmao.com/Article/Detail/id/470
刚开始用C++做界面的时候,根本不知道怎么用简陋的MFC控件做出比较美观的界面,后来就开始逐渐接触到BCG Xtreme ToolkitPro v15.0.1,Skin++,等界面库,以及一些网友自己写的界面库,开始对于C++软件界面美化有了一点点的心得。不敢藏私,希望和一些新手朋友们分享交流。
一. 开源C++界面库
1.RingSdk
Ringsdk是CSDN上一个前辈自己写的界面库,这个界面库很轻而易举实现QQ2009的界面效果。链接见
http://blog.csdn.net/ringphone/article/details/2911244 貌似Ringsdk和MFC无法进行交互,但是 RingSdk其中有很多的图形处理的代码都非常有参考价值。
2.redui的官方网站http://www.redui.org 已经打不开了。官方QQ群是 40729296
CSDN地址是
http://blog.csdn.net/jameshooo/article/details/6677272
这是官方的说明
REDUI,又名REDirectUI,全称是Rendering Engine for DirectUI,是一款基于XML描述的 DirectUI 渲染引擎,能将“控件”的交互和渲染过程分解成多种独立的要素,包括布局、视觉效果、样式、UI自动化、滤镜、脚本、事件、3D场景、3D模型、通用动画等。通过这些要素的排列组合,可以呈现出各种不同效果的控件,甚至能在XML中直接自定义控件类型。支持2D/3D无缝融合。
• REDUI支持GDI/GDI+/DirectDraw/D3D等渲染方式,并有支持OPENGL/ES的愿望
3.Duilib 这个就比较大名鼎鼎了,不用多说了吧。包括华为网盘在内的很多业内企业都在用这个界面库。我用Duilib做了一个小型的界面。贴出来献丑一个。
4.WGI-1.0.7-Demo-Project-for-windows 。。额。。时间太长,忘记了这个代码是什么,姑且先忽略它。
5.cj60lib 这个玩过Gh0st3.6木马的人都熟悉,是一款对MFC进行拓展的界面库
6.金山界面库 这个就不赘述了,可以直接上金山的论坛找源代码和资料
7.skinTK_V0.20 一款类似于Skin++的开源界面库
8.FreeCL_Skin2.3 一款不错的控件库 扩展了常用的MFC控件 。 这个是FreeCL_Skin提供的一个效果实例。
9.GuiLib1.5 一个老外写的界面库 没有用过,没有调查,就没有发言权。大家自行百度。
10.基于3D的界面库 MangoGUI_V0.1.5
MangoGUI是猫仔在DXUT基础上修改得来的一个开源GUI系统。
目前来说基本上继承了DXUT里面绝大多数的功能和改进了使用方式,让DX学习爱好者更容易去使用GUI系统。
如果你也是一位对GUI有兴趣的同学,非常欢迎你一同来参与到MangoGUI的设计当中来!
作者博客
http://m9551.blog.sohu.com/
11.基于Skia的directui库metalbone
代码托管地址
http://code.google.com/p/metalbone/
官方说明
MetalBone是一个C++ DirectUI库。接口、命名等借鉴Qt,而并非使用Windows风格。
MetalBone的特点是,使用CSS来定制样式(如果没有CSS的话,则什么也不显示,lol)。目前可以使用Direct2D或Google Skia来绘制界面。MetalBone使用的是 WWM协议(基于LGPL)
12.SonicUI2011
效果比较不错的一款皮肤库
作者CSDN地址是
http://my.csdn.net/akof1314
13 基于OpenGl的界面库 beGUI-0.1.3-src
代码托管地址
http://code.google.com/p/begui/
二 未开源或商业界面库
1.Flash4UI
看命名就知道是将Flash嵌入到UI中。
官方网站是 http://www.flash4ui.com/
效果图片
2.bolt 迅雷7界面引擎
迅雷界面引擎,这个用过迅雷下载和迅雷看看的就有体会了,界面的确是做的非常的赞。而且流畅,CPU占用和内存各种都很棒。采用了脚本交互的方式,脚本语言采用了Lua.可惜的是迅雷只开放了接口SDK给个人使用。
官方网址 http://bolt.xunlei.com/
3.clayui
百度百科说明 clayui是一个采用纯C++编写的界面框架,可以很方便的移植到各种系统上。现在支持的系统包括android,windows,wince,linux。clayui的特点是能实现各种2D,3D动画,一些WPF,FLEX才能实现的界面效果,通过clayui可以很方便的实现。 clayui的底层渲染支持纯软件渲染,d3d,opengl es硬件加速渲染,您可以根据自身的需求选择合适的渲染方式,使您界面的用户体验达到最佳效果
效果
4.DSkinLite
官方网址 http://www.uieasy.cn/dskinlite/
官方Demo
5.libuiDK
官方说明:LibUIDK是国际上顶尖的专业开发Windows平台下图形用户界面的开发包,也是国内第一款商业的高级界面开发工具。该开发包基于Microsoft的MFC库。使用此开发工具包可轻易把美工制作的精美界面用Visual C++实现,由于LibUIDK采用所见即所得的方式创建产品界面,所以极大的提高了产品的开发速度,并大大增强图形用户界面(GUI)的亲和力。LibUIDK还可以使您的软件轻松具有当今流行的换肤功能,以提高产品的竞争力。
官方网站
http://www.iuishop.com/index.asp
实例
6. SiteUi SkinSE 都有官方网站。就不继续搬砖的工作了。
7.(未开源)上海勇进UIPower
这个比较牛逼。一款界面库就是大几百万的。老总阙海忠还亲自录了20集的界面库相关的视频
官方网站 http://www.uipower.com/
这是老阙的视频。
8.炫彩界面库
炫彩界面库貌似是私人开发的一个界面库,可以用C++.c#易语言等来开发。炫彩库的作者貌似是湖北襄阳人哟。
官方网站 http://www.xcgui.com/
9.魔方界面库
官方网站 http://www.muilib.com/
MuiLib(Magic UI Library)Windows高级界面开发库是在国内首家免费开源的DuiLib界面开发库基础上经过针对性的扩展而发展起来的,他继承了DuiLib高度自由灵活的特点,并吸收了其他界面库的一些优点,针对Windows层窗口按像素透明技术而重点优化后形成的一个优秀界面开发库,是一个使用纯C++调用Windows API的开发库,无任何其他第三方依赖框架,您可以使用其提供的各种高级控件来创建更加炫酷的用户界面
10 XtremeToolkit
由Codejock 公司出品的一款界面库。应用也是比较广泛的。在2013版的大灰狼远程操控中就采用了这款界面库。
11.Sharpui
代码托管地址 https://github.com/china520/sharpui
Sharpui是居于现在流行的DUI思想的一套界面库,可以方便实现半透明和各种界面效果,采用纯c++实现,分为引擎和控件两个部分,这两个部分采用动态库的形式提供,引擎部分处理了事件、资源、渲染、控制逻辑,同时提供了各种应用层面控件的实现基类,包括:Visual、Element、FrameworkElement、Control、ContentControl、Window、Panel、Popup,这些类封装了基础控件的实现细则,所有用户实现的控件都必须继承自这些类,对于需要呈现的控件必须继承至FrameworkElement。
控件部分提供的所有控件均采用DUI方式实现、分层绘制,实现各种常用的布局控件,可灵活实现界面的自动布局;Sharpui本身所有数据结构采用原生实现,内存自动管理,不依赖于std的任何容器,使得库的使用更加独立、编译更加简单,使用VS任意一个版本编译都可以用在其它版本里,不需要担心由于std版本原因而产生编译问题。
以上都是我在工作和个人业余时间收集积累的开源或商业界面库,这些界面库各有各的特色和侧重点,也有不同的换肤思想,如果要用在项目中还是要进行适当的增删整改。
由于个人能力水平见识有限,也有些大神的作品没有被收录其中。表示遗憾。
国产UI:
1. 炫彩界面库XCGUI
炫彩界面库不仅是界面库,它是软件界面开发框架,让用户开发桌面软件变的简单高效,它功能丰富, 小巧,安全(所有界面元素无句柄),Unicode字符编码,完善的帮助文档;
并且提供了UI设计器,支持XML布局,CSS样式表,XML资源;该库采用C语言开发,速度更快,支持多种开发语言调用,例如C#,易语言; 不需要第三方库的支持,不需要MFC,ATL,和WINDOWS标准控件;
采用DirectUI设计思想,在窗口内无子窗口,窗口相当于容器,界面元素都是逻辑上的区域,没有句柄. 灵活易扩展,即支持C语言风格开发,同时也支持C++语言开发,用户可以对元素句柄进行包装扩展,支持用户自绘,支持各种格式图片.
详情:外链网址已屏蔽www.okbase.net/file/item/21495
2. DirectUI界面库DuiLib
Duilib是一个windows下免费开源的directui界面库,是国内首个开源的directui界面库,可以将用户界面和处理逻辑彻底分离,极大地提高用户界面的开发效率。提供所见即所得的开发工具UIDesigner。使用DirectUI后将使得我们的设计人员彻底解放,不会受到开发的束缚,可以充分地发挥其设计能力来设计软件界面,并参与到用户界面开发过程中。 Duilib 目前支持Windows 32 、Window CE、Mobile等平台,使用C++开发,遵循BSD协议,可以免费用于商业项目 。
详情:外链网址已屏蔽www.okbase.net/file/item/21497
3. 基于金山开源项目的界面库BKUIlib
这是从金山卫士开源项目提取出来的界面库,随着金山开源项目的增多, 界面库的结构也趋向于稳定.简单地剥离出了这个界面库,并取名叫 Bkuilib。
详情:外链网址已屏蔽www.okbase.net/file/item/21499
4. 基于DirectUI技术的开源界面库DUIEngine
DUIEngine是一个开源的界面库,采用目前流行的DirectUI技术。该界面库也是从金山卫士
开源的界面部分(bkwin)演化而来,并经过全面的重构。
详情:外链网址已屏蔽www.okbase.net/file/item/21500
5.基于DuiEngine的开源DirectUI图形界面库SOUI
SOUI是一个C++ DirectUI库,基于作者这前开发的DuiEngine再经过为期近半年的重构后完成的版本。鉴于原有框架的局限,为了更好的满足简化UI开发的目的,作者又重新开发了这套SOUI。
SOUI相对于DuiEngine的改进:
1、功能模块化:特别是渲染部分要让用户可以根据需要选择适合的模块,如GDI,GDI+,SKIA。
2、性能优化
3、简化XML配置
4、删除原有项目中为了版本兼容而遗留的垃圾代码
5、优化项目管理
6、增加代码注释
同时新版本也增加了一些新的特性:
1、新增多语言翻译支持。
2、程序资源提供模块支持多份,以便为从脚本创建UI提供更好的支持。
3、完善LUA脚本模块。
详情:外链网址已屏蔽www.okbase.net/file/item/33579
上一篇:安卓APP从服务器获取版本信息并下载安装APK
下一篇:值得学习的C语言开源项目