迪文屏幕T5UID3平台学习笔记二:变量图标显示和按键返回值按钮学习

您所在的位置:网站首页 地址图标图片怎么设置 迪文屏幕T5UID3平台学习笔记二:变量图标显示和按键返回值按钮学习

迪文屏幕T5UID3平台学习笔记二:变量图标显示和按键返回值按钮学习

2024-07-10 01:32| 来源: 网络整理| 查看: 265

需要实现一个功能:当点击某个按钮时候,要求能够改变按钮的字体和颜色,比如:

点击strat按钮后,显示stop,这样再点击就实现Stop逻辑,同时显示变成Start,也

就是说把Start和Stop按钮功能合成一个按钮;同时还要求按钮为白色,表示可以点击,

为灰色则不能点击。为了实现这个功能我的思路如下:

思路一:文本显示+控制文本背景颜色+按钮控件,要求文本控件区域和按钮控件区域

完全重合;

思路二:变量图标显示+按钮控件,要求他们区域完全重合;

难点:

1、不知道迪文屏幕支不支持不同的控件可以完全重合在一起,如果不支持那么只能是

      按钮切换整个主界面来实现(目前测试来看,按钮类控件区域不能重叠,其它貌似

      可以, 没有详细验证);

2、我看可了下手册,不知道怎么控制文本控件的背景颜色,因此我选择方案2;

实现步骤:

一、ICO制作

我看了下变量图标显示控件的使用,首先用PS软件做出你要显示的效果图,然后用

DWIN ICO生成工具把你的图标打包成一个ICO文件,拷贝进DGUS Tool V7.383.exe

工程的DWIN_SET文件夹即可,注意:

1、用PS制作的bmp格式图片大小必须是X=偶数,Y=偶数;

2、DWIN ICO生成的ICO文件命名必须以数字开头,并且数字在24~127之间;并且

     生成后不可重命名数字部分;

3、显示模式可选择透明或者显示背景,这个是针对ICO设置的,如果是透明,则显

     示ICO位置后面的主界面图案;如果显示背景,则显示覆盖后面的主界面部分;

4、后面被覆盖的主界面的显示模式也可以设置,我没有做实验,不知道什么效果;

5、其它就看手册使用就好,无非就是有一组值对应组ICO,然后还有变量地址绑定,

     往这个地址里面写入某个值,则对应的ICO就会被显示出来;超过设置的这组线性

    值,则为不显示ICO(这个时候显示后面的主界面区域);

6、注意一定不能频繁更新这个值,否则会有闪屏效果;

二、按钮

我刚开始用的普通按钮控件,但是我找了半天,手册也么有说这个控件怎么用,我搞

了半天,也没有找到地址绑定,那么怎么知道按钮被按了呢?我猜想这个控件可能是

切换画面(图片)用的,因此我改选为按键返回值控件。这个控件就很简单了:

1、在主界面画出一个按钮区域(为了保险起见,我把X/Y/W/H都设置为偶数);

2、绑定地址(字对齐,你懂得,什么不懂?那请看我的上篇博客,学习笔记一);

3、设置按键返回值;

我说下原理:DWIN GUI程序不停检测屏幕,当检测到按钮的设置区域有按压动作,

则把用户设定的按键返回值写入到绑定地址里面;也就是说,当用户检测到绑定地址

变量为用户写入值后,则认为按键有效,这个时候,用户可以给绑定地址写入一个按

键无效的保留值,已达到清除按键的效果(这个时候,我猜如果用户一直按压,没有

抬起的动作,那么按键值被清除后,也不会被DWIN GUI程序再次写入键值);

三、组合逻辑

这个就很简单了,不停的检测按键绑定地址的值是否为按键有效值,如果为按键有效值,

则认为是一个有效的按键动作,改变位图绑定地址的值,显示对应ICO位图;同时清除

按键值,并执行用户的按键其它逻辑;

效果如下图:

一个白色的Start按钮,点击后变灰:

PS: 1、注意按键地址从0x5000开始,才可以通过绑定地址读取到按键值,我在这里耗费了好长时间,但是没有任何一个手册告诉我这点,郁闷; 2、同一个页面的不同05按键值返回控件的键值绑定地址,如果想通过OS查询是否有按键按下,那么绑定地址必须一致(不必勾选数据自动上传); 3、08触摸屏按压状态同步数据返回控件,如果想用0S查询是否有按下,长按,抬起动作发生,则VPT地址必须和05控件一致,必须选择模式01,VPS地址从0x5000开始; 4、在调试OS时候,定义了一个全局的三维数组,然后在函数里面复制,发现数组永远是0,测试了二维和一维也是零,用变量测试可以;最后方案是放弃了用屏幕保存       用户当前的配置信息,改为下位机存储,屏幕切换界面及时读取下位机配置。

以上只是在我的屏幕上试验成功的几个注意,能工作,并没有全面验证。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3