|
|
本帖最后由 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 控件的灰白外观。
✨ 核心特性
[td]| 分类 | 内容 | | API 总数 | 108+ 个方法,覆盖窗口/控件/列表/事件/颜色/富文本等 | | 控件类型 | 按钮、复选框、单选框、编辑框、富文本、列表框、组合框、滑块、进度条、选项卡 | | 布局系统 | VBox/HBox 自动排列,支持 stretch、padding、margin | | 事件系统 | 28 种事件类型(点击/选中/值变化/键盘/鼠标等) | | 多列列表 | 自定义列宽/颜色,每格独立颜色 | | 滑块/进度条 | 无图片纯色回退,适配深色主题 | | 消息气泡 | 彩色文字 + 左右对齐,联系人切换保留 RTF 格式 | | 皮肤 | XML 定义 + 全局颜色/字体注册 |
DEMO 展示完整演示项目包含 2 个界面:
DEMO1:深色仪表板(Dashboard)展示布局 + Progress + List + 自定义标题栏

DEMO2:设置面板(Settings)完整演示项目包含 4 个标签页:
1.显示 — 深色模式/状态栏/动画开关 + 字体/缩放滑块

2.通知 — 通知/声音开关 + 通知级别单选 + 频率滑块

3.高级 — 自动更新/日志开关 + 缓存/超时滑块

4.聊天 — 4 个联系人即时通讯:

联系人 即时通讯
- ✅ 回车发送消息
- ✅ 时间戳 [HH:MM]
- ✅ 消息颜色 + 左右对齐
- ✅ 自动回复模拟
- ✅ 切换联系人保留完整格式
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 基础库
后期规划
| | | | 优先级 | 功能 | 说明 | | P0 | XML 布局编辑器 | 可视化拖拽设计 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 —
DEMO2.zip
(9.29 KB, 下载次数: 6)
DEMO1.zip
(8.6 KB, 下载次数: 7)
|
|