广州大彩串口屏论坛_大彩开发者交流论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 410|回复: 1

VisualHMI 如何用 Lua 程序化设置输入控件焦点和控件选中状态

[复制链接]

2

主题

2

帖子

18

积分

新手上路

Rank: 1

积分
18
发表于 2026-9-8 18:18:56 | 显示全部楼层 |阅读模式
各位大佬,我新接触大彩的触摸屏,但是有个项目需要使用外部键盘,防爆箱内无法触摸,遇到很多问题,谢谢各位。

软件/硬件:广州大彩 VisualHMI V1.5.561,HMI80480KM070(800×480),工程通信协议=自定义协议,串口数据经 Lua on_uart_recv 处理

核心问题:键盘选中如何选中某个控件,如何让该控件有“选中/焦点”视觉反馈?尝试过的方法:
指令集 §2.23 EE B1 02 <Screen> <Ctrl> <Enable> 光标焦点指令——固件无响应
wgt_set_bcolor(screen, control, color)——调用无报错但文本输入控件颜色无变化

请问:
1、VisualHMI 有没有办法程序化切换输入控件的焦点,或动态改变控件背景/边框/文字颜色?wgt_set_bcolor 的适用控件类型是什么?
2、字符串写入 set_string(VT_LW, addr, str) 连续占用地址,数值型输入框用 set_string 写入显示乱码——数值控件的程序化写入应使用什么 API?
3、show_dialog() 弹出/关闭对话框会触发 on_screen_change 回调,目前自行加标志位区分“弹窗”和“真实切换画面”。是否有 API 可获取当前对话框画面 ID(如 SysDialog LW 0x0101 的用法),或官方推荐的区分方式?
4、程序化触发控件“按下/点击”事件是否可行?即通过 Lua 模拟用户点击某个按钮控件,触发其绑定的动作(等效 on_wgt_event)。

回复

使用道具 举报

0

主题

1097

帖子

3274

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3274
发表于 2026-9-11 11:59:22 | 显示全部楼层
HMI无触摸屏用状态指示灯去做选中显示,对应选中索引做具体逻辑处理。 TFT指令集不能用于HMI,wgt_set_bcolor对应画面ID控件ID RGB565颜色。数值控件用set_uint  文本用string   用LW0x101来获取对话框画面ID  on_wgt_event就可以
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|广州大彩串口屏论坛_大彩开发者交流论坛

GMT+8, 2026-10-17 07:27 , Processed in 0.066435 second(s), 17 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表