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)官方版
https://github.com/duilib/duilib ++ duilib: 该代码是从googlecode.com上check的391版本 duilib原版源码,曾经很火的项目,现在停止更新了。duilib自开源以来,各种版本被不同的组织或者个人维护。
(2)旗舰版
https://github.com/qdtroy/DuiLib_Ultimate ++ Troy的专栏_qdtroy_CSDN博客-Duilib问题与解答,Duilib开源项目,通用技术领域博主https://blog.csdn.net/duisharp Troy修改的duilib旗舰版,小小推荐。它是duilib库的增强拓展版,库修复了大量用户在使用中反馈的Bug,新增了用户需求的功能,并持续维护更新。
duilib 旗舰版-高分屏、多语言、样式表、资源管理器、异形窗口、窗口阴影、简单动画。
(3)Redrain版
https://github.com/redrains/DuiLib_Redrain ++ Redrain的专栏_Redrain_CSDN博客-duilib,DuiLib使用心得,duilib 精品领域博主https://redrain.blog.csdn.net/ Redrain修改的duilib旗舰版
(4)腾讯版
https://github.com/tencentyun/TIMSDK/tree/master/cross-platform/Windows/IMApp/Basic/duilibhttps://github.com/tencentyun/TIMSDK/tree/master/cross-platform/Windows/IMApp/Basic/duilib 腾讯使用的的duilib修改版,小小推荐
(5)网易版
https://github.com/netease-im/NIM_Duilib_Framework/tree/master/duilib 网易使用的duilib修改,推荐,网易在研发网易易信 PC 版时引入 Duilib,经过多年开发和改进,由网易云信在2019年4月开源。
netease_im的博客_网易云信_CSDN博客-开发,数字化,敏捷开发领域博主https://blog.csdn.net/netease_im 网易云信博客
网易云信 – IM即时通讯云 -音视频通话https://yunxin.163.com/ ++ https://github.com/netease-im ++网易云信 Demo 界面布局介绍-PC通用-Demo源码导读-通用-网易云信开发文档http://dev.yunxin.163.com/docs/product/%E9%80%9A%E7%94%A8/Demo%E6%BA%90%E7%A0%81%E5%AF%BC%E8%AF%BB/PC%E9%80%9A%E7%94%A8/Demo%20%E7%95%8C%E9%9D%A2%E5%B8%83%E5%B1%80%E4%BB%8B%E7%BB%8D
https://github.com/netease-im/NIM_Duilib_Framework
网易云信Windows应用界面开发框架(基于Duilib),推荐,持续更新。NIM Duilib 包含了一整套桌面软件的开发部件,与其说这是一个界面库,不如说它是一个开发框架。从原有 Duilib 基础上拓展了一些新的能力,使用 C++11 重写,做了较大重构,并整合了 Google base 基础类库(线程、内存、闭包等)。您完全可以直接使用这个框架来开发任何你想要的桌面应用。Duilib是在研发易信PC版时被引入,历经六七年的研发过程,相对于原版Duilib,网易云信Duilib修复了一些问题和不足,包括但不限于控件种类不丰富、不支持动画、不支持半透明异形窗体、对多线程支持不好等,目前,网易云信Duilib配合比较高效的引擎库Base解决多线程问题,可以做出功能更强更稳定的客户端界面。
https://github.com/netease-im/NIM_PC_UIKit 网易云信Windows(PC) UI组件源码,好久没更新了
https://github.com/netease-im/NIM_PC_Demo
(6)duilib入门简明教程:
2013 duilib入门简明教程 – 随笔分类 – Alberl – 博客园http://www.cnblogs.com/Alberl/category/520438.html
仿酷狗音乐播放器已开源!_Redrain的专栏-CSDN博客http://blog.csdn.net/zhuhongshu/article/details/41037875/
https://github.com/nmgwddj/duilib_tutorial DuiLib 基础入门文档+视频教程,基于官方开源代码
(7)duilib的使用案例:
http://www.winradar.com/ — Troy修改的duilib旗舰版,使用duilib的开源项目,小小推荐
https://github.com/cinience/RedisStudio
https://github.com/karllen/cef3-duilib-YDDemo 基于Cef3+duilib仿有道词典
https://github.com/fawdlstty/NetToolbox 易大师网络工具箱
https://github.com/zhichao281/duilib-MiniBlinkBrowser 用duilib做的miniblink的浏览器
https://github.com/sunflover/SunPlayer_DuiLib It is a windows GUI player,the GUI part use DuiLib
https://github.com/bingwin/MicroChat ++ flyaway/MicroChat just for learning duilib
(8)UIDesigner for duilib
https://github.com/wamaqa/DuiDesigner/tree/master/DuiDesigner ++ https://github.com/warren-lei/DuilibPreview duilib的界面设计工具
(9)DuiLib和Qt哪个作为界面比较好?
2、DuiEditor — ★fork自duilib旗舰版,自创ui编辑器★
https://github.com/xfcanyue/DuiLib_DuiEditor ++ DuiLib_DuiEditor: UIDesigner for duilib 这是针对DuiLib开发的界面设计工具,可实际工作中使用,项目自带的库fork自duilib旗舰版,所以完整支持旗舰版。
duilib设计器 DuiEditor简易教程 (DuiDesigner) (一)_mmcanyu的专栏-CSDN博客https://blog.csdn.net/mmcanyu/article/details/106758857 duilib设计器 DuiEditor简易教程 (DuiDesigner) (一)
3、DuiVision — ★蓝蚂蚁工作室★
DuiVision界面库是参考了仿PC管家程序、金山界面库、DuiEngine、DuiLib等多个基于DirectUI的界面库开发的。
https://github.com/blueantst/DuiVision ++ DuiVision: 一个c++界面库. DuiVision界面库是参考了仿PC管家程序、金山界面库、DuiEngine、DuiLib等多个基于DirectUI的界面库开发的https://gitee.com/mirrors/DuiVision
蓝蚂蚁工作室http://www.blueantstudio.net/index.html
oceanheart的专栏_oceanheart_CSDN博客-界面开发,开发工具,VC领域博主https://blog.csdn.net/oceanheart
高仿QQ电脑管家8 界面_geniusice18的专栏-CSDN博客https://blog.csdn.net/geniusice18/article/details/16369499 高仿QQ电脑管家8 界面
4、DuiEngine — ★金山卫士★
金山卫士开源项目带的ui界面库
金山卫士开源计划 {v11.08.8.0}开源卫士社区 源代码下载http://code.ijinshan.com/
5、SOUI — ★开源免费,推荐使用,文档详尽,持续更新★
SOUI是目前为数不多的轻量级可快速开发window桌面程序开源DirectUI库.其前身为Duiengine,更早期则是源自于金山卫士开源版本UI库Bkwin.经过作者多次开发维护升级后得此库.SOUI其寓意为”瘦UI” “UI,just so so!”
SOUI官方博客 启程软件 – 博客园
SOUI官方论坛 SOUI – Powered by Discuz!
SOUI官方教程 SOUI学习博客 – Powered by Discuz!
SOUI v2.0
SOUI v3.0
SOUI UI editor
https://github.com/soui-demo/SouiEditor
https://github.com/soui3-demo/SouiEditor
SOUI Demo
https://github.com/SOUI2/soui/blob/master/products.md
https://github.com/soui-demo/PCManager
6、REDM — ★开源免费,推荐使用,文档详尽,持续更新★
REDM是一套基于商业化标准的开源directui界面框架,不仅能提供完善的项目管理方案、详细的文档框架,也可轻松协助完成可视化界面设计,其核心库的稳定性已在内部多个大型商化项目中通过验证。
hgy413/NSDM 案例,NSIS安装打包工具
7、DirectUI开发工具界面库控件库界面开发控件开发 SKIN++
8、迅雷BOLT界面引擎 迅雷,不开源
9、http://www.muilib.com/ 魔方界面库
10、炫彩界面库 – 炫语言-中文编程IDE 炫彩界面库(xcgui.dll)
11、Gaclib — GPU Accelerated C++ User Interface (vczh) ++ https://github.com/vczh-libraries/Release gaclib
—————————————————–以下收集的界面库,与DirectUI无关———————————————-
与PC桌面相关的C++界面库
1、LibUIDK
LibUIDK原来是商业界面库,2019年9月8号开源。是专业开发Windows平台下图形用户界面的开发包,该开发包基于Microsoft的MFC库。使用此开发工具包可轻易把美工制作的精美界面用Visual C++实现,由于LibUIDK采用所见即所得的方式创建产品界面,所以极大的提高了产品的开发速度,并大大增强图形用户界面(GUI)的亲和力。
https://github.com/iUIShop/LibUIDK mfc skin ui,not directui
北京优艾斯普科技有限公司-官方网站-首页http://www.iuishop.com/
psbeyond的专栏_psbeond_CSDN博客-windows操作系统,控件自绘系列,C++系列领域博主https://blog.csdn.net/psbeond 作者博客,QQ:1584793892
2、Ultimate Toolbox — MFC开源界面库
The Ultimate Toolbox Home Page – CodeProject
The Ultimate Grid Home Page – CodeProject
The Ultimate TCP/IP Home Page – CodeProject
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。
https://github.com/ocornut/imgui
https://github.com/ocornut/imgui/wiki/Software-using-dear-imgui
https://github.com/ocornut/imgui/issues/123
https://github.com/BentleyBlanks/imguiDock
imgui的应用项目:十六进制编辑器。A Hex Editor for Reverse Engineers, Programmers and people that value their eye sight when working at 3 AM.
https://github.com/WerWolv/ImHex
https://github.com/thedmd/imgui-node-editor Node Editor using ImGui
4、CButtonST
CButtonST v3.9 (MFC Flat buttons) – CodeProject V3.9是最终的开源版本
5、BCGControlBar 商业软件
BCGSoft: professional GUI controls for C++ MFC/.NET/WinForms vc++ mfc
6、Toolkit Pro 商业软件
Toolkit Pro for Visual C++ / MFC | Codejock vc++ mfc
7、QtitanRibbon 商业软件
Developer Machines – Quality components for software Developers Qt界面库
8、High-speed Charting Control 绘图控件
High-speed Charting Control – CodeProject
x、MFC精品资源
https://github.com/zhongyang219/TrafficMonitor MFC写的显示当前网速、CPU及内存利用率的桌面悬浮窗软件
https://github.com/abstractspoon/ToDoList_7.2 MFC写的任务管理软件AbstractSpoon ToDoList
KeePass Password Safe ++ KeePass – Browse Files at SourceForge.net 一款很方便安全的密码管理软件,keepass v1.x使用C++写的;v2.x使用C#写的
WinMerge – You will see the difference… ++ https://github.com/WinMerge/winmerge 文件比对软件
与PC桌面相关的C#界面库
1、DevExpress 商业软件
2、DotNetBar 商业软件
3、HZHcontrols
4、DMSkin
WPF UI – DMSkin 界面库http://www.dmskin.com/
https://github.com/944095635/DMSkin
5、微软开源UI利器
https://github.com/Microsoft/microsoft-ui-xaml
https://github.com/dotnet/winforms
6、开源的控件
SunnyUI: SunnyUI.Net 是基于.Net Framework 4.0+、.Net Core3.1、.Net 5 框架的 C# WinForm 开源控件库、工具类库、扩展类库、多页面开发框架。https://gitee.com/yhuse/SunnyUIHZHControls控件库: HZHControls控件库,c#的winform自定义控件,对触屏具有更好的操作支持,项目是基于framework4.0,完全原生控件开发,没有使用任何第三方控件,你可以放心的用在你的项目中(winfromcontrol/winformcontrol/.net)。还有更丰富的工业控件持续增加中~~~https://gitee.com/kwwwvagaa/net_winform_custom_control花木兰控件库: Winform控件库https://gitee.com/tlmbem/hml唧唧复唧唧木兰当户织 – 博客园https://www.cnblogs.com/tlmbem/
7、leagueoflegends
https://github.com/devncore/leagueoflegends
与PC桌面相关的Web/脚本跨平台界面库
1、Electron
Electron是GitHub发布的跨平台桌面应用开发工具,支持 Web 技术开发桌面应用,其本身是基于 C++ 开发的,GUI 核心来自于 Chrome,而 JavaScript 引擎使用 v8。
2、flutter
Flutter 是 Google 开源的 UI 工具包,使用Dart编程语言。帮助开发者通过一套代码库高效构建多平台精美应用,支持移动、Web、桌面和嵌入式平台。Flutter 开源、免费,拥有宽松的开源协议,适合商业项目。
Flutter – Build apps for any screenhttps://flutter.dev/
Flutter中文网https://flutterchina.club/
3、vue
4、react
React – A JavaScript library for building user interfaceshttps://reactjs.org/
5、semi.design
Semi Designhttps://semi.design/zh-CNGitHub – DouyinFE/semi-design: A modern, comprehensive, flexible design system and React UI libraryhttps://github.com/DouyinFE/semi-design
精美安装包制作工具:HofoSetup
HofoSetup – 安装包制作大师http://hofosoft.cn/,商业软件
https://github.com/Tetian/isthttps://github.com/Tetian/ist inno setup+duilib实现定制皮肤一键安装
乖乖牛在线 – 免费截图控件|截图插件|Web截图控件|Web截图插件,做最专业的截图。http://www.ggniu.cn/index.html ++ 分享一个使用NSIS制作安装包的UI插件https://blog.csdn.net/libaineu2004/article/details/80679356,使用Duilib与NSIS结合的方式,UI部分由Duilib来实现,安装流程由NSIS脚本来控制
https://github.com/cppfuns/nsSkinEngine_NSIS_demo ++ NSetup 一键自动升级安装包制作 NSIS duilib UI plugin 界面库
https://github.com/jeppeter/nsduilib duilib plugin for nsis
https://github.com/winsoft666/NSIS-UI-Plugin Create NSIS Modern UI Setup by Using Thirdparty UI Library(such as Qt, DuiLib)
精品ico图标下载
Free Icons, Clipart Illustrations, Photos, and Music
UI-中国用户体验设计平台 漂亮界面网站
iconfont-阿里巴巴矢量图标库 阿里巴巴矢量图标库
https://www.pexels.com/ 无版权的高质量图片库
https://www.pexels.com/zh-cn/ 同上
尊重作者,支持原创,如需转载,请附上原地址:
评论前必须登录!
注册