名称 | 操作 | 版本 | 日期 | 说明 | 编辑 |
《状态开关控件使用说明》 | 创建中 | V1.0 | 2019-01-17 | 第一次编辑完成,正式发布。 | lyh |
《状态开关控件使用说明》 | 修订 | V1.1 | 2020-08-12 | 补充本控件中所有属性详解 | qjj |
【目录】
3.1、控件属性描述
3.2、控件属性编辑
3.2.1、编辑属性
3.2.2、读属性
3.2.3、写属性
3.3 、属性详解
3.3.1、x,y属性
3.3.2、w,h属性
3.3.3、txt属性
3.3.4、val属性
3.3.5、dez属性
3.3.6、dis属性
3.3.7、pco属性
3.3.8、bco属性
3.3.9、bco2属性
3.3.10、pco2属性
3.3.11、font属性
3.3.12、time属性
3.3.13、first属性
3.3.14、effect属性
3.3.15、aph属性
3.3.16、drag属性
3.3.17、vscope属性
3.3.18、objname属性
3.3.19、id属性
3.3.20、type属性
3.3.21、disup属性
4.1、在页面上新建状态开关控件
4.2、状态开关控件外观调整
4.3、状态开关控件默认显示内容设置
4.4、运行中改变状态开关控件当前值
4.5、状态开关控件加载特效设置
4.6、状态开关控件移动特效使用
1.1、状态开关控件是串口屏诸多功能控件里面的其中一个。
1.2、用于在串口屏上显示状态开关信息。
1.3、在《USART HMI》软件左侧工具箱里面(如下图所示)。
用状态开关控件,做自己的第一个显示工程(如下图所示)。
▲一个纯色页面使用<状态开关控件>实现开关灯效果
状态开关控件相关属性设置
状态开关控件相关事件设置
相关资源文件
串口屏所有控件操作的实质都是对属性的修改。状态开关控件具有的属性如下表所示。
如下图所示,当鼠标选中对应属性时,会在属性窗口的最下方出现该属性的详细描述信息。
用户可以随时调整、编辑列表中的属性参数。
注意:type和id属性由开发环境指定,用户不可修改。id可通过软件左上角置顶置底间接修改。
如上图所示的控件属性列表,可以在设备运行中随时读取。
sys0=sw0.id 将状态开关控件sw0的id号赋值给sys0变量 sw0.x+=10 将控件在屏幕上的位置向右移动10个像素点。 prints sw0.txt,0 将sw0的文本内容从串口发送出去。
注意:objname属性不可以读取。比如在事件代码中写"sw0.txt=t0.objname"编译将报错。
所有绿色控件可以在运行中实时修改。
注意:因产品系列不同,属性的写权限也不完全相同。比如X系列可以在运行该过程中修改x,y属性。但是T0,K0系列不能在运行过程中修改x,y属性!
x,y属性描述控件在屏幕上的像素坐标位置。以屏幕左上角为像素坐标原点(x=0,y=0)。
T0,K0系列产品,x,y属性只能从:0–最大分辨率。不能超出屏幕显示区域。
X系列产品,x,y属性可以超出屏幕坐标范围(-6000~+6000),但是超出屏幕将被裁减,不会显示出来。
技巧:如果想做一个控件,但是不想让用户看到,触摸到。可以把该控件放在屏幕显示区域以外。开发人员使用的时候,使用click指令,
或者绑定用户IO
w,h属性描述控件在屏幕上宽度和高度(像素大小为单位)。
T0,K0系列产品,w,h属性只能从:0–最大分辨率。不能超出屏幕显示区域。
X系列产品,x+w,y+h的值可以超出屏幕坐标范围,但是超出屏幕将被裁减,不会显示出来。
txt属性。字符内容(最大24个字符)。用于存放状态开关控件的显示内容。"/"为分隔符,"/"前面的字符为val值是0显示内容;"/"后面的字符为val值是1显示内容。
val属性。当前值,可取值为0,1。不同的值显示设定的txt字符内容。
dez属性。方向:0-横向;1-竖向。
注:如果设置横向,但高(h)比宽(w)大,显示是竖向效果。
注:如果设置竖向,但高(h)比宽(w)小,显示是横向效果。
dis属性。外形圆角半径百分比(0-100,0为直角)。
pco属性。控件状态0圆心色颜色属性,RGB565的颜色值。
bco属性。控件状态0背景色颜色属性,RGB565的颜色值。
bco2属性。控件状态1背景色颜色属性,RGB565的颜色值。
pco2属性。控件状态1圆心色颜色属性,RGB565的颜色值。
font属性。控件的字库属性。选择控件字库的ID号。
time属性。控件特效执行时间属性。仅X系列支持,且effect设置不为0以后才存在该属性。
当设置了控件的加载特效以后,控件在time的时间内,以设置的特效方式飞到控件所在屏幕的坐标位置。
first属性。控件加载特效的优先级属性。仅X系列支持,且effect设置不为0以后才存在该属性。
first可设置的值为0-100。支持多个有特效的控件为同一级别优先级。同一优先级的控件,将在同时被加载到屏幕上显示。
不同优先级的优先级中,将根据设置值从大到小依次完成加载。
effect属性。控件加载特效属性。目前一共支持9种效果。仅X系列支持该属性。
0-立即加载;1-上边飞入;2-下边飞入;3-左边飞入;4-右边飞入;5-左上角飞入;6-右上角飞入;7-左下角飞入;8-右下角飞入
aph属性。控件半透明属性。仅X系列支持。
aph可设置的值范围为0-127 。为0时控件将全透明(效果为不显示),为127时全显示(没有半透明效果);
drag属性。控件运行过程中是否支持拖动属性。仅X系列支持。
vscope属性。控件内存占用属性。控件支持私有和全局属性。
当设置为全局时,控件分配的内存在所有页面都可以访问。离开当前页面后,控件属性数据也不会丢失。缺点是,占用系统总内存。
objname属性。控件名称属性。该属性在运行中不能获取。
id属性。控件id是每个控件在当前页面的唯一标识号。由系统分配,不可修改。id可通过软件左上角置顶置底间接修改。
type属性。控件类型属性。由系统分别固定数据,比如状态开关控件属性为67。
disup属性。产生拖动后是否禁用弹起事件:0-否;1-是。默认为否,即拖动的时候是会触发弹起事件。仅当drag=是时,才存在该属性。
参考文本控件
![]() | |
1、打开一个新的空白界面▲ | 2、点击左侧<工具箱>里面的<文本>按钮,当前页面出现一个文本框▲ |
参考文本控件
上一步我们创建了一个状态开关控件,现在我们编辑状态开关控件的外观(显示效果)。
将文本控件移显示区中心位置,并调大到能放下。
I.新添加上“文本控件”预览 | II.摆放到指定位置并调整到需要尺寸预览 | III.操作说明 |
![]() | ![]() | ▷移动位置:鼠标选中控件,拖到需要摆放的位置。 ▷调整大小:鼠标指针选中控件的任意一条边,或任意一个角,拖动即可调整大小。 其他方法:如果不想使用鼠标,也可以通过修改属性列表中的“x、y坐标”来调整位置,修改属性列表中的“宽度和高度”来调整大小。 |
文本控件背景显示指定的“单一颜色”,(例:显示蓝色)。
I.显示预览 | II.属性设置 | III.操作说明 |
![]() | ![]() ![]() ![]() | ▷鼠标单击选中控件; ▷拉动属性列表滑块 → 找到背景色属性“左图①所示”→ 点击颜色选择框“左图②所示”→ 点击选择更多“左图③所示”,软件弹出配色对话框,点击蓝色“左图④所示”→ 点击确定“左图⑤所示”。即完成此文本控件的背景色修改成蓝色。 其他:控件单色背景填充时还能设置边框效果,根据属性列表里面,相应的属性项进行设置。 注: 当颜色被使用过后,下次点击选择颜色的时候,使用过的颜色会直接出现在“选择颜色”的下拉选项中。 控件属性如果不清楚怎么使用,请查阅“认识控件中的【控件属性讲解】” |
上一部分我们讲完了控件外观的编辑和控件大小的调整,现在我们讲状态开关控件默认显示内容的设置。
在页面显示“开”的状态。
I.显示预览 | II.属性设置 | III.操作说明 |
![]() | ▲①状态1背景色选择“绿色” ▲②状态1圆心色选择“白色” ▲③设置字符内容 ▲④输入当前值 | ▷点几下鼠标就完成了给"状态开关控件"设置显示初始状态。 ▷注意: 字符内容属性,这里设置的是状态开关控件"txt属性"显示的字符。"/"作为分隔符,当前值(val)为0显示"/"前的字符。当前值(val)为1显示"/"后的字符。 |
4.4.1通过“按下或弹起事件”改变当前页面中状态开关控件“显示内容”
例(1):按下当前页面中的按钮,让当前页面中的状态开关控件sw0值为1。
按钮“弹起事件 或 按下事件”里面代码如下:
sw0.val=1
代码解释:
sw0 :当前页面中,控件名称为 sw0 的状态开关控件
.val :状态开关控件 sw0 属性列表中的其中一个属性,用于赋值当前值。
= :C语言赋值符号
1 :1 为数值
4.4.2通过“按下或弹起事件”改变其他页面中状态开关控件“显示内容”
例(2):按下当前页面中的按钮,让其他页面(页面名称叫 set)中的状态开关控件sw0值为1。
注:sw0控件属性vscope必须设置为全局,否则会报错。
按钮“弹起事件/或按下事件”里面代码如下:
set.sw0.val=1
代码解释:
set :页面名称
.sw0 :set页面中名字为 sw0 的状态开关控件
.val :状态开关控件 sw0 属性列表中的其中一个属性,用于赋值当前值。
= :C语言赋值符号
1 :1 为数值
4.4.3通过单片机串口改变当前页面中状态开关控件“显示内容”
示例(1):串口发送数据让当前页面中的状态开关控件sw0值为1。
注:sw0控件属性vscope必须设置为全局,否则会报错。
串口发送数据代码:
Serial.print("sw0.val=1");
Serial.write(hexEND,3);
代码解释:
Serial.print(); 单片机串口发送字符串函数
"sw0.val=1" 需要发给屏的C语言字符串命令
Serial.write(); 单片机串口发送16进制函数
hexEND,3 提前定义好的元素为3个16进制 0xff 的数组
4.4.4通过单片机串口改变其他页面中状态开关控件“显示内容”
示例(2):串口发送数据让其他页面(页面名称叫 set)中的状态开关控件sw0值为1。
注:sw0控件属性vscope必须设置为全局,否则会报错。
串口发送数据代码:
Serial.print("set.sw0.val=1");
Serial.write(hexEND,3);
代码解释:
Serial.print(); 单片机串口发送字符串函数
"set.sw0.val=1" 需要发给屏的C语言字符串命令,其中 set 是页面名称。
Serial.write(); 单片机串口发送16进制函数
hexEND,3 提前定义好的元素为3个16进制 0xff 的数组
4.4.5通过串口助手改变当前页面中状态开关控件“显示内容”
示例(1):串口发送数据让当前页面中的状态开关控件sw0值为1。
串口助手发送数据代码:
sw0.val=1
ff ff ff
串口助手截图 | 操作说明 |
![]() | ① 选择串口号(选择你电脑连接屏使用的串口号) ② 设置波特率 |
![]() ![]() | ③ 输入字符串指令 ④ 输入16进制结束符 |
示例(2):串口发送数据让其他页面(页面名称叫 set)中的状态开关控件sw0值为1。
注:sw0控件属性vscope必须设置为全局,否则会报错。
串口发送数据代码:
set.t0.txt="你好"
ff ff ff
串口助手截图 | 操作说明 |
![]() | ① 选择串口号(选择你电脑连接屏使用的串口号) ② 设置波特率 |
![]() ![]() | ③ 输入字符串指令 ④ 输入16进制结束符 |
参考文本控件
注:此功能目前只有【X3系列 和 X5系列】产品支持。
加载特效示意图 | 属性设置 | 操作说明 |
控件设置加载特效后,当控件所在页面刷新时,控件会按照设置的加载方式呈现出来。 注:由于本页面不支持视频,无法展示动态效果。只能用图文简要说明。不便之处敬请谅解。 | ![]() | ▷属性设置方法: 控件加载特效默认是“立即加载”即无特效。 鼠标单击选中控件 → 在属性列表中找到“加载特效”选项(如左图①所示)并点击箭头处,会弹出下来列表(如图②所示),选择一个你想要的的加载方式,即完成控件加载特效设置。 ▷其他: 你可能已经注意到了,“加载特效”这个属性是绿色,也就是说屏在运行时加载特效是允许改变的。加载特效的改变方法和改变文本控件背景色的操作一致,唯一不同的是“属性名称不一样”参数不一样。 |
参考文本控件
文本控件移动示例:
注:此功能目前只有【X3系列 和 X5系列】产品支持。
加载特效示意图 | 移动指令 | 操作说明 |
过 程 太 炫 酷 无 法 展示 (请自行测试) | ① 可视化移动指令格式: move obj,starx,stary,endx,endy,first,time obj:控件名称或控件ID starx:起始坐标X stary:起始坐标Y endx:结束坐标X endy:结束坐标Y first:优先级(0-100,数字越大优先级越大) time:移动时间(单位ms) , :分隔符 ② 无过程移动指令格式: obj.x=x obj:控件名称 .x:控件X坐标属性 =:赋值符号 x:终点x坐标 obj.y=y obj:控件名称 .y:控件X坐标属性 =:赋值符号 y:终点y坐标 | ▷ 可视化移动操作说明 ① 将 t0 控件从当前位置可视化移动到t1位置(假设页面上有一个控件叫做 t1),指令如下: move t0,t0.x,t0.y,t1.x,t1.y,0,300 代码注释:控件t0可视化移动方式,移动到t1的位置,无优先级,移动时间300ms ② 将 t0 控件从当前位置可视化移动到指定位置(位置:x坐标 200,y坐标 100),指令如下: move t0,t0.x,t0.y,200,100,0,300 代码注释:控件t0可视化移动方式,移动到x坐标为200,y坐标为100的位置,无优先级,移动时间300ms ③ 将t0移动到显示区外面去(假如水平移到最右侧外面,以4.3寸屏为例)指令如下: move t0,t0.x,t0.y,481,t0.y,0,300 代码注释:控件t0可视化移动方式,x坐标位481,y坐标保持现有坐标不变,移动事件300ms。(备注:4.3寸屏的分辨率480X272,当X坐标设置为481时,就会看到控件从当前位置向右移动到屏幕外面去,这个过程耗时300ms) !!!注意: 可视化移动模式,最小移动时间限制到150ms,因为时间太短就看不出来移动效果了。 ▷ 无过程移动操作说明 ① 将 t0 控件从当前位置无过程移动到t1位置(假设页面上有一个控件叫做 t1),指令如下: t0.x=t1.x t0.y=t1.y 代码注释:把t1的x坐标和y坐标赋值给,t0的x坐标和y坐标。 ② 将 t0 控件从当前位置无过程移动指定位置(位置:x坐标 200,y坐标 100),指令如下: t0.x=200 t0.y=100 代码注释:给t0的x坐标和y坐标直接赋值。 ③ 将t0无过程移动到显示区外面去(水平右侧外面,以4.3寸屏为例)指令如下: t0.x=801 代码注释:给t0的x坐标直接赋值,由于y坐标不变,y坐标不用赋值。 特别说明: 控件移动只是移动位置,控件的所有功能不会因为移动而改变,非常方便有运行中移动空加需求的场景使用(例如:密码键盘、操作菜单等等) 控件移出显示区,根据自己需要使用。 另外,如果您只是想不让控件显示出来,可以用隐藏指令,不需要用移动指令。点击查阅【隐藏指令】的使用。 |
END