[AI封装]duilib_kit V1.0 DirectUI 界面库
本帖最后由 ynxyzl 于 2026-6-30 18:28 编辑duilib_kit V1.0 正式发布 — 火山视窗的 DirectUI 界面库108+ API、XML 布局、深色主题、即时通讯 DEMO
模块简介duilib_kit 是基于网易云信 NIM_Duilib_Framework 封装的火山视窗 DirectUI 模块(x64)。让你用 XML 描述界面、火山代码控制逻辑,告别原生 Windows 控件的灰白外观。
模块简介**duilib_kit 是基于网易云信 NIM_Duilib_Framework 封装的火山视窗 DirectUI 模块(x64)。让你用 XML 描述界面、火山代码控制逻辑,告别原生 Windows 控件的灰白外观。
✨ 核心特性
分类内容
API 总数108+ 个方法,覆盖窗口/控件/列表/事件/颜色/富文本等
控件类型按钮、复选框、单选框、编辑框、富文本、列表框、组合框、滑块、进度条、选项卡
布局系统VBox/HBox 自动排列,支持 stretch、padding、margin
事件系统28 种事件类型(点击/选中/值变化/键盘/鼠标等)
多列列表自定义列宽/颜色,每格独立颜色
滑块/进度条无图片纯色回退,适配深色主题
消息气泡彩色文字 + 左右对齐,联系人切换保留 RTF 格式
皮肤XML 定义 + 全局颜色/字体注册
DEMO 展示完整演示项目包含 2 个界面:
DEMO1:深色仪表板(Dashboard)展示布局 + Progress + List + 自定义标题栏
https://bbs.voldp.com/forum.php?mod=image&aid=38154&size=300x300&key=37f0549f8a3b329a&nocache=yes&type=fixnone
DEMO2:设置面板(Settings)完整演示项目包含 4 个标签页:
1.显示 — 深色模式/状态栏/动画开关 + 字体/缩放滑块
https://bbs.voldp.com/forum.php?mod=image&aid=38155&size=300x300&key=35c915730991cee3&nocache=yes&type=fixnone
2.通知 — 通知/声音开关 + 通知级别单选 + 频率滑块
https://bbs.voldp.com/forum.php?mod=image&aid=38156&size=300x300&key=cc4b8d5de90db330&nocache=yes&type=fixnone
3.高级 — 自动更新/日志开关 + 缓存/超时滑块
https://bbs.voldp.com/forum.php?mod=image&aid=38157&size=300x300&key=d712d41f69fdc454&nocache=yes&type=fixnone
4.聊天 — 4 个联系人即时通讯:
https://bbs.voldp.com/forum.php?mod=image&aid=38158&size=300x300&key=5ff88183339939a2&nocache=yes&type=fixnone
联系人 即时通讯
[*]✅ 回车发送消息
[*]✅ 时间戳
[*]✅ 消息颜色 + 左右对齐
[*]✅ 自动回复模拟
[*]✅ 切换联系人保留完整格式
API 速览'
初始化引擎duilib类.引擎初始化 ("skin")'
创建 580x520 窗口变量
窗口 = duilib类.窗口创建 (0, 580, 520, "settings.xml", "设置面板")
duilib类.窗口居中 (窗口)'
获取控件变量 按钮 = duilib类.通用取控件 (窗口, "btnok")
duilib类.通用置文本 (按钮, "确定")'
列表操作duilib类.列表添加项 (列表, "新项目")'
滑块duilib类.滑块条置位置 (滑块, 50)'
颜色转换变量 颜色 = duilib类.颜色取RGB (255, 0, 0) '
→ 0x0000FF
变量 文本 = duilib类.颜色值到文本 (颜色) '
→ "#FF0000FF"'
事件循环判断循环 (真)
{
变量 evt = duilib类.事件_等待 ()
如果 (evt == 1)
{ ' 点击事件 }
如果 (evt == 6)
{ ' 滑块值变化 }
}
6 种按钮样式所有按钮通过 XML 属性即可配置,无需代码:
样式实现
主要bkcolor="#FF5B8FF9"
成功bkcolor="#FF44DD88"
危险bkcolor="#FFFF5555"
边框bordersize="1" bordercolor="#FF5B8FF9"
禁用enabled="false"
幽灵normaltextcolor="#FF888888"
模块结构plugins\vprj_win\classlib\user\duilib_kit\
├── LICENSE ← MIT 许可证
├── duilib_kit.vgrp ← 模块组文件
└── src/ ← 完整源码
├── duilib_kit.wsv← 火山接口
├── duilib_kit.h ← C++ 桥接头
├── duilib_all.cpp← Unity 编译
├── duilib/ ← duilib 框架
└── base/ ← nbase 基础库
后期规划
优先级功能说明
P0XML 布局编辑器可视化拖拽设计 duilib 界面,实时预览
P0树形框 TreeView目录树、节点增删改查
P0日期选择器 DateTimePicker下拉日历控件
P1表格控件 DataGrid行列编辑、排序、筛选
P1模态对话框MessageBox、OpenFileDialog 封装
P1菜单系统 PopupMenu右键菜单、下拉菜单
P2图表自绘饼图、柱状图、折线图
P2主题系统一键切换亮色/深色主题
P2窗口动画淡入淡出、滑动进入
P3分离面板 Splitter可拖拽调整左右/上下比例
P3数据绑定列表/表格与火山数组自动同步
P3丰富 DEMO文件管理器、数据看板、设置向导
以上规划根据社区反馈动态调整,欢迎提需求。
如何使用**
[*]将 duilib_kit 文件夹复制到火山模块目录:plugins\vprj_win\classlib\user\
[*]在 .vprj 中添加模块引用:<模块> group_file_name = "*plugins\vprj_win\classlib\user\duilib_kit\duilib_kit.vgrp"
[*]在 .wsv 中配置:@视窗.头文件 = "src\duilib_kit.h"@视窗.全部替换 = "src\duilib_all.cpp"@视窗.附加库 = "msimg32.lib" "winmm.lib" "imm32.lib" "shlwapi.lib"
[*]编写 XML 布局文件,复制到 EXE 同级 skin\ 目录
☕ 支持作者如果这个模块对你有帮助,欢迎请作者喝杯咖啡 ☕
你的支持是持续更新的动力!❤️
qq群:8617865
Happy Volcano Coding!
MIT License —
**** Hidden Message *****
感谢分享,下载看看 学习学习,谢谢 又一个界面库,牛
这个界面库是真的优秀 优秀。。。 感谢分享
感谢分享 duilib_kit V1.0 DirectUI 界面库 学习下 6666666666666666666666