尊重作者,支持原创,如需转载,请附上原地址:
libaineu2004.blog.csdn.net/article/det…
C++ Directui
Directui是一套开发理念,其主要的思想就是主窗口有句柄HWND,但是子控件Button List 等等都是无窗口句柄的,使用spy++无法抓取控件的HWND。DirectUI界面库取名自微软的一个窗口类名“DirectUIHWND”,意为Paint on parent dc directly。 即子窗口不以窗口句柄的形式创建,只是逻辑上的窗口,绘制在父窗口之上。DirectUI界面库使用XML来描述界面风格,界面布局,可 以很方便的构建高效,绚丽的,非常易于扩展的界面。从而很好的将界面和逻辑分离,同时易于实现各种超炫的界面效果如换色,换肤,透明等。DirectUI技术说白了就是XML配置文件+图片+JavaScript控制界面。这点与网页css+图片+JavaScript十分相似,就是如开发网页一般开发桌面程序界面,这个开发效率当然大大的提高。将程序员从繁琐的界面绘制工作中解脱出来,专心开发逻辑代码。还能大大减少代码量,因为据统计,传统MFC程序中,界面代码大约占总代码的1/3强!也就是说,这个1/3的代码都可以由xml+javascript替代!同理,如果网页开发时,每个图片都需要由web程序绘制,你能想象一个网页的代码量有多少吗?简直不能想象,而传统Window程序就是如此!DirectUI技术最早被用于window xp资源管理器左边栏,被称为task folder.而DirectUI被广为国人所知,还得感谢腾讯公司。QQ2009的界面就是使用DirectUI技术开发的。类似的有微软的MSN,OCS和百度Hi。最近的Office2007 Ribbon界面,如果使用Spy++查看,可以见到一个名为"NetUI"的窗口,其实这也是微软内部DirectUI的一个变种。不过无论是微软,腾讯,还是百度,都使用了DirectUI技术来开发自己的软件界面。
总而言之,比较有名的开源免费Directui库有duilib/SOUI/REDM/DuiVision等等。互联网大厂BAT/网易等的客户端ui就是使用duilib开发的。另外,也请多多关注SOUI、REDM、DuiVision这几个开源库。
1、duilib
Duilib 是 Windows 系统下的开源的 DirectUI 界面库(遵循 BSD 协议),完全免费,可用于商业软件开发。Duilib 可以简单方便地实现大多数界面需求,包括换肤、换色、透明等功能,支持多种图片格式,使用 XML 可以方便地定制窗口,能较好地做到 UI 和逻辑相分离,尽量减少在代码里创建 UI 控件。目前,Duilib 已经在国内有较为广泛的使用。
(1)官方版
github.com/duilib/duil… ++ gitee.com/Sinux/duili… duilib原版源码,曾经很火的项目,现在停止更新了。duilib自开源以来,各种版本被不同的组织或者个人维护。
(2)旗舰版
github.com/qdtroy/DuiL… ++ blog.csdn.net/duisharp Troy修改的duilib旗舰版,小小推荐。它是duilib库的增强拓展版,库修复了大量用户在使用中反馈的Bug,新增了用户需求的功能,并持续维护更新。
duilib 旗舰版-高分屏、多语言、样式表、资源管理器、异形窗口、窗口阴影、简单动画。
(3)Redrain版
github.com/redrains/Du… ++ redrain.blog.csdn.net/ Redrain修改的duilib旗舰版
(4)腾讯版
github.com/tencentyun/… 腾讯使用的的duilib修改版,小小推荐
(5)网易版
github.com/netease-im/… 网易使用的duilib修改,推荐,网易在研发网易易信 PC 版时引入 Duilib,经过多年开发和改进,由网易云信在2019年4月开源。
blog.csdn.net/netease_im 网易云信博客
yunxin.163.com/ ++ github.com/netease-im ++网易云信 dev.yunxin.163.com/docs/produc…
网易云信Windows应用界面开发框架(基于Duilib),推荐,持续更新。NIM Duilib 包含了一整套桌面软件的开发部件,与其说这是一个界面库,不如说它是一个开发框架。从原有 Duilib 基础上拓展了一些新的能力,使用 C++11 重写,做了较大重构,并整合了 Google base 基础类库(线程、内存、闭包等)。您完全可以直接使用这个框架来开发任何你想要的桌面应用。Duilib是在研发易信PC版时被引入,历经六七年的研发过程,相对于原版Duilib,网易云信Duilib修复了一些问题和不足,包括但不限于控件种类不丰富、不支持动画、不支持半透明异形窗体、对多线程支持不好等,目前,网易云信Duilib配合比较高效的引擎库Base解决多线程问题,可以做出功能更强更稳定的客户端界面。
github.com/netease-im/… 网易云信Windows(PC) UI组件源码,好久没更新了
(6)duilib入门简明教程:
github.com/nmgwddj/dui… DuiLib 基础入门文档+视频教程,基于官方开源代码
(7)duilib的使用案例:
www.winradar.com/ -- Troy修改的duilib旗舰版,使用duilib的开源项目,小小推荐
github.com/karllen/cef… 基于Cef3+duilib仿有道词典
github.com/fawdlstty/N… 易大师网络工具箱
github.com/zhichao281/… 用duilib做的miniblink的浏览器
github.com/sunflover/S… It is a windows GUI player,the GUI part use DuiLib
github.com/bingwin/Mic… ++ gitee.com/jolvmail/Mi… just for learning duilib
(8)UIDesigner for duilib
github.com/wamaqa/DuiD… ++ github.com/warren-lei/… duilib的界面设计工具
(9)DuiLib和Qt哪个作为界面比较好?
2、DuiEditor -- ★fork自duilib旗舰版,自创ui编辑器★
github.com/xfcanyue/Du… ++ gitee.com/Liqs99/DuiL… 这是针对DuiLib开发的界面设计工具,可实际工作中使用,项目自带的库fork自duilib旗舰版,所以完整支持旗舰版。
blog.csdn.net/mmcanyu/art… duilib设计器 DuiEditor简易教程 (DuiDesigner) (一)
3、DuiVision -- ★蓝蚂蚁工作室★
DuiVision界面库是参考了仿PC管家程序、金山界面库、DuiEngine、DuiLib等多个基于DirectUI的界面库开发的。
github.com/blueantst/D… ++ gitee.com/mirrors/Dui…
www.blueantstudio.net/index.html
blog.csdn.net/geniusice18… 高仿QQ电脑管家8 界面
4、DuiEngine -- ★金山卫士★
金山卫士开源项目带的ui界面库
5、SOUI -- ★开源免费,推荐使用,文档详尽,持续更新★
SOUI是目前为数不多的轻量级可快速开发window桌面程序开源DirectUI库.其前身为Duiengine,更早期则是源自于金山卫士开源版本UI库Bkwin.经过作者多次开发维护升级后得此库.SOUI其寓意为"瘦UI" "UI,just so so!"
SOUI官方博客 www.cnblogs.com/setoutsoft/
SOUI官方论坛 www.soui.vip/
SOUI官方教程 www.soui.vip/forum-49-1.…
SOUI v2.0
SOUI v3.0
SOUI UI editor
SOUI Demo
6、REDM -- ★开源免费,推荐使用,文档详尽,持续更新★
REDM是一套基于商业化标准的开源directui界面框架,不仅能提供完善的项目管理方案、详细的文档框架,也可轻松协助完成可视化界面设计,其核心库的稳定性已在内部多个大型商化项目中通过验证。
gitee.com/lzlong88/Ef… 案例,模仿自抖音的特效制作工具
gitee.com/hgy413/NSDM 案例,NSIS安装打包工具
8、bolt.xunlei.com/ 迅雷,不开源
9、www.muilib.com/ 魔方界面库
10、www.xcgui.com/index.php 炫彩界面库(xcgui.dll)
11、gaclib.net/#~/ ++ github.com/vczh-librar… gaclib
-----------------------------------------------------以下收集的界面库,与DirectUI无关----------------------------------------------
与PC桌面相关的C++界面库
1、LibUIDK
LibUIDK原来是商业界面库,2019年9月8号开源。是专业开发Windows平台下图形用户界面的开发包,该开发包基于Microsoft的MFC库。使用此开发工具包可轻易把美工制作的精美界面用Visual C++实现,由于LibUIDK采用所见即所得的方式创建产品界面,所以极大的提高了产品的开发速度,并大大增强图形用户界面(GUI)的亲和力。
github.com/iUIShop/Lib… mfc skin ui,not directui
blog.csdn.net/psbeond 作者博客,QQ:1584793892
2、Ultimate Toolbox -- MFC开源界面库
www.codeproject.com/Articles/20…
www.codeproject.com/Articles/20…
www.codeproject.com/Articles/20…
3、imgui
Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies
轻量级并且支持多平台。ImGui在业界也十分有名,其脱胎于PSV的 Tearaway 这款游戏,之后由原作者进行了大量的整理扩展工作。它在诸如育碧的《刺客信条 奥德赛》《刺客信条 起源》、索尼的《拯救宇宙机器人》、SE的《FFVII重制版》、Mojang的《我的世界(Bedrock)》、暴雪的《Warcraft III: Reforged》等等知名游戏当中都有应用。同时也被集成在UE、Unity、Cocos2D等知名引擎当中。 Dear ImGui本身是平台及图形渲染API无关的。使用者需要将平台的用户输入事件转换传递给ImGui。
imgui的应用项目:十六进制编辑器。A Hex Editor for Reverse Engineers, Programmers and people that value their eye sight when working at 3 AM.
github.com/thedmd/imgu… Node Editor using ImGui
4、CButtonST
www.codeproject.com/Articles/57… V3.9是最终的开源版本
5、BCGControlBar 商业软件
www.bcgsoft.com/ vc++ mfc
6、Toolkit Pro 商业软件
codejock.com/products/to… vc++ mfc
7、QtitanRibbon 商业软件
www.devmachines.com/ Qt界面库
8、High-speed Charting Control 绘图控件
www.codeproject.com/Articles/14…
x、MFC精品资源
github.com/zhongyang21… MFC写的显示当前网速、CPU及内存利用率的桌面悬浮窗软件
github.com/abstractspo… MFC写的任务管理软件www.abstractspoon.com/
keepass.info/ ++ sourceforge.net/projects/ke… 一款很方便安全的密码管理软件,keepass v1.x使用C++写的;v2.x使用C#写的
winmerge.org/ ++ github.com/WinMerge/wi… 文件比对软件
与PC桌面相关的C#界面库
1、DevExpress 商业软件
2、DotNetBar 商业软件
3、HZHcontrols
www.hzhcontrols.com/index.html
4、DMSkin
5、微软开源UI利器
与PC桌面相关的Web/脚本跨平台界面库
1、Electron
Electron是GitHub发布的跨平台桌面应用开发工具,支持 Web 技术开发桌面应用,其本身是基于 C++ 开发的,GUI 核心来自于 Chrome,而 JavaScript 引擎使用 v8。
2、flutter
Flutter 是 Google 开源的 UI 工具包,使用Dart编程语言。帮助开发者通过一套代码库高效构建多平台精美应用,支持移动、Web、桌面和嵌入式平台。Flutter 开源、免费,拥有宽松的开源协议,适合商业项目。
3、vue
4、react
精美安装包制作工具:HofoSetup
hofosoft.cn/,商业软件
github.com/Tetian/ist inno setup+duilib实现定制皮肤一键安装
www.ggniu.cn/index.html ++ 分享一个使用NSIS制作安装包的UI插件,使用Duilib与NSIS结合的方式,UI部分由Duilib来实现,安装流程由NSIS脚本来控制
github.com/cppfuns/nsS… ++ www.nsetup.cn/ NSIS duilib UI plugin 界面库
github.com/jeppeter/ns… duilib plugin for nsis
github.com/winsoft666/… Create NSIS Modern UI Setup by Using Thirdparty UI Library(such as Qt, DuiLib)
精品ico图标下载
www.ui.cn/ 漂亮界面网站
www.iconfont.cn/ 阿里巴巴矢量图标库
www.pexels.com/ 无版权的高质量图片库
尊重作者,支持原创,如需转载,请附上原地址:
libaineu2004.blog.csdn.net/article/det…