C++界面库

article/2025/11/3 2:08:16

        刚开始用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版本原因而产生编译问题。



以上都是我在工作和个人业余时间收集积累的开源或商业界面库,这些界面库各有各的特色和侧重点,也有不同的换肤思想,如果要用在项目中还是要进行适当的增删整改。

由于个人能力水平见识有限,也有些大神的作品没有被收录其中。表示遗憾。




/**************************************************Witch_Soya***********************************************************/

/**************************************************2013年9月3日15:55:18***********************************************/


http://chatgpt.dhexx.cn/article/OIIaPtXT.shtml

相关文章

【区块链技术社区】区块链微信群

磨链mochain社区-区块链技术讨论交流不定期进行线上的技术交流学习,技术分享。线下技术交流,成员主要在北京、上海、浙江、广东等地。欢迎:区块链技术大咖、区块链爱好者、区块链技术爱好者、想了解区块链技术的小白不欢迎:广告党…

HaaS技术社区大玩家,研究十几年嵌入式独爱HaaS

点击查看活动详情:https://t.csdnimg.cn/L4B8 HaaS技术社区 在物联网方案多样化与场景碎片化等大背景下,基于阿里云物联网数亿设备落地经验,阿里云物联网团队推出了HaaS这个加速AIoT中小开发者的创新平台。HaaS(Hardware as a s…

博客园的整改了,我们还能去哪些技术社区写博客

前几天突然技术群里有人说,博客园好多文章页面打不开了,上网一查,原来,博客园在整改,至少一周的时间博客园都处于关站状态 作为技术社区里面知名的博客写作网站,里面有很多干货,突然一下子整改…

10个 我经常逛的国外技术社区,真的受益匪浅!

经常有小伙伴问:“小富,有什么国外的技术社区、博客推荐吗?” 总有人问,索性我就把自己经常访问的10个国外技术社区分享出来。想要玩转这些资源的前提,要么自身外语水平不错,要么找个好的翻译工具&#xff…

CSDN:荣幸获得国内第一大技术社区CSDN 2018博客之星名额!感谢!

CSDN:很荣幸,博主刚刚获得国内第一大社区CSDN—【2018年度CSDN博客之星荣誉】,再次感谢CSDN的公平、公正、公开! PS:下边所有的文字,均是博主走心的分享,如果能对大家带来还算比较正的价值观&a…

程序员技术提升与兼职社区

程序员技术提升与兼职社区 1 费曼学习法:让输入驱动输出,用输出倒逼输入 费曼学习法的灵感源于诺贝尔物理奖获得者 Richard Phillips Feynman (理查德菲利普斯费曼, May 11, 1918 - February 15, 1988)。 费曼学习法可以简化为四个单词:Con…

TinyMind - 专注人工智能的技术社区

TinyMind - 专注人工智能的技术社区 CSDN 旗下专业 AI 技术社区 https://www.tinymind.cn/

CSDN蒋涛提出技术社区三倍速定律,称下一个20年全球开发者数量将过亿

10 月 24 日,科大讯飞 1024 开发者节在合肥举行,中国 IT 技术社区 CSDN 创始人&董事长、极客帮创投创始合伙人蒋涛受邀发表了主题演讲。 在演讲中,蒋涛提出了“技术社区三倍速定律”,如何理解? 2013 年 CSDN 上关于…

你应该知道的国内十大技术社区

文章部分内容摘自“纯洁的微笑”。 社区是聚集一类具有相同爱好或者相同行业的群体,IT技术社区就是聚集了IT行业内的技术人,在技术社区可以了解到行业的最新进展,学习最前沿的技术,认识有相同爱好的朋友,在一起学习和…

HaaS技术社区大玩家 - 从C语言到JavaScript的物联网开发者

点击查看活动详情:https://t.csdnimg.cn/L4B8 HaaS技术社区 在物联网方案多样化与场景碎片化等大背景下,基于阿里云物联网数亿设备落地经验,阿里云物联网团队推出了HaaS这个加速AIoT中小开发者的创新平台。HaaS(Hardware as a s…

常用几大技术社区及工具网站,你常逛么?

1 前言 作为程序猿要想成长快,进阶快,弯道超车必然付出的肯定不能比一般人多,别人在逛淘宝、天猫的时候我们逛的却是各大技术社区;那你经常逛的技术社区有哪些呢?今天这篇文章主要就是罗列一下自己常用的技术社区&…

HaaS技术社区大玩家 - 专注RTOS维测的技术狂人

点击查看活动详情:https://t.csdnimg.cn/L4B8 HaaS技术社区 在物联网方案多样化与场景碎片化等大背景下,基于阿里云物联网数亿设备落地经验,阿里云物联网团队推出了HaaS这个加速AIoT中小开发者的创新平台。HaaS(Hardware as a s…

【粉丝限时福利】个人技术社区正式开始搞福利活动咯。。。奖品丰厚。。。

朋友们,大家好! 最近我创建了一个CSDN技术社区:AIoT技术交流社区 最近刚好突破1W人,非常感谢大家的加入! 社区简介: 【技术成长】的捷径是【交流与分享】。社区由【嵌入式物联网架构师李肯】创建&#xf…

十大程序员最实用的技术社区网站

今天给大家整理一份国内程序员最实用的开源社区网站清单,希望可以给大家带来一点帮助。 第一名:CSDN 中国专业IT社区CSDN (Chinese Software Developer Network) 创立于1999年,致力于为中国软件开发者提供知识传播、在线学习、职业发展等全生…

中国十大技术社区你都知道哪些?

社区是聚集一类具有相同爱好或者相同行业的群体,IT技术社区就是聚集了IT行业内的技术人,在技术社区可以了解到行业的最新进展,学习最前沿的技术,认识有相同爱好的朋友,在一起学习和交流。 技术社区一般有三类人&#x…

程序员必备的技术社区都有哪些?

文章说明:本篇文章主要是分享相关程序员常用社区,非广告。 以下排序不分先后,分享态度。 一、csdn 专业开发者社区 地址:https://www.csdn.net/ 介绍:CSDN是全球知名中文IT技术交流平台,创建于1999年,包含原创博客、精品问答、职…

android摄像头预览功能,android通过camera和surfaceview选择摄像头并即时预览

在使用android设备的摄像头的时候我们有两种选择: 1.调用intent方法使用摄像头 2.通过camera类使用摄像头 第一种方法非常方便,不过需要跳到新的activity中,这样的用户体验并不是特别好 使用camera能有更大的自定义空间! 使用camera就需要用surfaceview显示摄像头的即时画…

SurfaceView绘图、调用Camera

一、使用surfaceview绘图 * <p>* Android系统提供了View进行绘图处理&#xff0c;我们通过自定义的View可以满足大部分的绘图需求&#xff0c;但是这有个问题就* 是我们通常自定义的View是用于主动更新情况的&#xff0c;用户无法控制其绘制的速度&#xff0c;由于Vi…

Android相机开发那些坑

版权声明&#xff1a;本文由王梓原创文章&#xff0c;转载请注明出处: 文章原文链接&#xff1a;https://www.qcloud.com/community/article/168 来源&#xff1a;腾云阁 https://www.qcloud.com/community 最近我负责开发了一个跟Android相机有关的需求&#xff0c;新功能允…

Android SurfaceView使用详解(很好的实战例子)

一、surfaceview 在显示时才会调用callback中的surfaceCreated。注意&#xff0c;是在显示时&#xff0c;在初始化时不会调用 在隐藏时会调用callback中的surfaceDestroyed 二、清屏操作 public void clearDraw(SurfaceHolder holder,int color) {Log.w("tan",&qu…