导出代码
全部分页生成 RuiBuilder.c / .h、UIMap、协议头与触摸回调;回调可追加或整文件覆盖。
菜单或工具栏 导出代码。按 全部页 收集图元,不要以为只有当前页会出去。先选导出目录,再等合图和生成结束。 
会得到什么
| 文件 | 用途 |
|---|---|
RuiBuilder.h / RuiBuilder.c | 各页 Page_Render_、Page_Show_;工程初始化 RuiBuilder_Init() |
RuiBuilder_UIMap.* | 对象表、变量初值、刷新函数。有触摸区、按钮、滑动条等可导出控件时会出 |
RuiBuilder_TouchCallbacks.c | 有回调表时生成;里面是你在 回调设计 写的实现 |
rui_protocol_config.h | 当前工程的 HMI 协议(给屏端 hmi_uart/) |
dwin_var.h / dwin_table.c | 给 产品主机 MCU 用,不是屏端。见 HMI 串口联调 |
有文字的工程用 UTF-8(无 BOM),否则可能是 GB2312。把生成文件拷进 Keil,在 RA8889_Initial() 之后、首屏前调用 RuiBuilder_Init(),再编译。
覆盖已有文件时怎么选回调
目标目录里已经有 RuiBuilder.h / .c 时,会先弹出 是否覆盖。
若工程里有回调,同一弹窗页脚有两个单选(默认是追加):
| 选项 | 界面原文 | 结果 |
|---|---|---|
| 追加(推荐) | 回调代码追加到 RuiBuilder_TouchCallbacks.c | 只补新回调,并同步「实现代码」非空的函数。你手改过的旧函数一般还在 |
| 整文件覆盖 | 回调代码覆盖 RuiBuilder_TouchCallbacks.c | 整份 TouchCallbacks.c 重写。红色警告:请先备份已写回调代码 |

其它 .h/.c 按确认结果覆盖。TouchCallbacks.c 单独按上面的单选处理。
成功后红字 / 蓝字
导出成功弹窗里,回调那一行会用颜色标明刚才用了哪种方式:
- 已追加(选了追加)
- 已覆盖(选了整文件覆盖)
- 首次导出(目录里本来没有回调文件,没有出现覆盖确认)

日常改界面再导出:选 追加。只有确定要丢掉文件里所有手写实现时,才选整文件覆盖。
实现代码怎么写、预设怎么用,见 回调设计。