名称 | 操作 | 版本 | 日期 | 说明 | 编辑 |
《切图控件使用说明》 | 创建中 | V1.0 | 2019-01-17 | 第一次编辑完成,正式发布。 | lyh |
《切图控件使用说明》 | 修订 | V1.1 | 2020-06-30 | 补充本控件中所有属性详解 | 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、picc属性
3.3.4、time属性
3.3.5、first属性
3.3.6、effect属性
3.3.7、aph属性
3.3.8、drag属性
3.3.9、vscope属性
3.3.10、objname属性
3.3.11、id属性
3.3.12、type属性
4.1、在页面上新建切图控件
4.2、切图控件外观调整
4.3、切图控件默认显示内容设置
4.4、运行中改变切图控件显示内容
4.5、切图控件加载特效设置
4.6、切图控件移动特效使用
4.7、切图控件一些使用小技巧
1.1、切图控件是串口屏诸多功能控件里面的其中一个。
1.2、用于在串口屏上显示切图信息。
1.3、在《USART HMI》软件左侧工具箱里面,从上到下数第8个位置(如下图所示)。
注:该控件效果其他大多数控件也能现实,只需要把控件属性sta设置为切图就好了
用切图控件,做自己的第一个切图工程(如下图所示)。
▲切图控件picc图片(必须是全屏图片),q0区域为切图的效果
串口屏所有控件操作的实质都是对属性的修改。切图控件具有的属性如下表所示。
如下图所示,当鼠标选中对应属性时,会在属性窗口的最下方出现该属性的详细描述信息。
用户可以随时调整、编辑列表中的属性参数。
注意:type和id属性由开发环境指定,用户不可修改。id可通过软件左上角置顶置底间接修改
如上图所示的控件属性列表,可以在设备运行中随时读取。
sys0=q0.id 将切图控件q0的id号赋值给sys0变量 q0.x+=10 将控件在屏幕上的位置向右移动10个像素点。 prints q0.picc,0 将q0的切图图片id从串口发送出去。
注意:objname属性不可以读取。比如在事件代码中写"q0.picc=q0.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的值可以超出屏幕坐标范围,但是超出屏幕将被裁减,不会显示出来。
picc属性。控件背景切图图片属性,选择控件背景切图图片的ID号。仅当sta=切图时,才存在该属性。
注意:选择的被切图图片尺寸必须等于对应串口屏的分辨率。否则,可能会导致显示花屏!
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是每个控件在当前页面的唯一标识号。由系统分配,不可修改。可通过软件左上方置顶置底间接修改。
type属性。控件类型属性。由系统分别固定数据,比如切图控件属性为113。
参考文本控件
![]() | |
1、打开一个新的空白界面▲ | 2、点击左侧<工具箱>里面的<文本>按钮,当前页面出现一个文本框▲ |
参考文本控件
上一步我们创建了一个文本控件,现在我们编辑文本控件的外观(显示效果)。
将文本控件移显示区中心位置,并调大到能放下。
I.新添加上“文本控件”预览 | II.摆放到指定位置并调整到需要尺寸预览 | III.操作说明 |
![]() | ![]() | ▷移动位置:鼠标选中控件,拖到需要摆放的位置。 ▷调整大小:鼠标指针选中控件的任意一条边,或任意一个角,拖动即可调整大小。 其他方法:如果不想使用鼠标,也可以通过修改属性列表中的“x、y坐标”来调整位置,修改属性列表中的“宽度和高度”来调整大小。 |
上一部分我们讲完了控件外观的编辑和控件大小的调整,现在我们讲切图控件默认显示相应区域图片的设置。
在页面的中间显示相应区域图片。
I.显示预览 | II.属性设置 | III.操作说明 |
![]() | ▲①切图选择图片ID为0 ▲②图片选择“ID为1” | ▷点几下鼠标就完成了给"切图控件"设置显示相应区域图片。 ▷注意: 可以在运行中修改控件坐标值即x,y(仅x系列支持)。但不可以在运行中修改控件高度,宽度即w,h;在运行中修改屏幕则会返回赋值操作失败 |
4.4.1通过“按下或弹起事件”改变当前页面中切图控件“显示内容”
例(1):按下当前页面中的按钮,让当前页面中的切图控件q0显示图片id为0相应区域图片。
按钮“弹起事件 或 按下事件”里面代码如下:
q0.picc=0
代码解释:
q0 :当前页面中,控件名称为 q0 的切图控件
.picc :切图控件 q0 属性列表中的其中一个属性,用于显示相应区域图片。
= :C语言赋值符号
0 :切图图片id为0
显示效果:
4.4.2通过“按下或弹起事件”改变其他页面中切图控件“显示内容”
例(2):按下当前页面中的按钮,让其他页面(页面名称叫 set)中的控件显示相应区域图片。
注:q0控件属性vscope必须设置为全局,否则会报错。
按钮“弹起事件/或按下事件”里面代码如下:
set.q0.picc=0
代码解释:
set :页面名称
.q0 :set页面中名字为 q0 的切图控件
.picc :切图控件 q0 属性列表中的其中一个属性,用于显示相应区域图片。
= :C语言赋值符号
0 :OK 为字符串
示例(1):串口发送数据让当前页面中的切图控件q0显示相应区域图片。
串口发送数据代码:
Serial.print("q0.picc=0");
Serial.write(hexEND,3);
代码解释:
Serial.print(); 单片机串口发送字符串函数
"q0.picc=0" 需要发给屏的C语言字符串命令
Serial.write(); 单片机串口发送16进制函数
hexEND,3 提前定义好的元素为3个16进制 0xff 的数组
示例(2):串口发送数据让其他页面(页面名称叫 set)中的切图控件显示相应区域图片。
注:q0控件属性vscope必须设置为全局,否则会赋值失败。
串口发送数据代码:
Serial.print("set.q0.picc=0");
Serial.write(hexEND,3);
代码解释:
Serial.print(); 单片机串口发送字符串函数
"set.q0.picc=0" 需要发给屏的C语言字符串命令,其中 set 是页面名称。
Serial.write(); 单片机串口发送16进制函数
hexEND,3 提前定义好的元素为3个16进制 0xff 的数组
示例(1):串口发送数据让当前页面中的切图控件q0显示相应区域图片。
串口助手发送数据代码:
q0.picc=0
ff ff ff
串口助手截图 | 操作说明 |
![]() | ① 选择串口号(选择你电脑连接屏使用的串口号) ② 设置波特率 |
![]() ![]() | ③ 输入字符串指令 ④ 输入16进制结束符 |
示例(2):串口发送数据让其他页面(页面名称叫 set)中的切图控件显示相应区域图片。
注:q0控件属性vscope必须设置为全局,否则会赋值失败。
串口发送数据代码:
set.q0.picc=0
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坐标不用赋值。 特别说明: 控件移动只是移动位置,控件的所有功能不会因为移动而改变,非常方便有运行中移动空加需求的场景使用(例如:密码键盘、操作菜单等等) 控件移出显示区,根据自己需要使用。 另外,如果您只是想不让控件显示出来,可以用隐藏指令,不需要用移动指令。点击查阅【隐藏指令】的使用。 |
切图使用方式很多,常见的使用方式。
可以提前设置一张全屏的图,然后切图相应的位置。然后在切图按下弹起事件设置相应的代码
下图为类似键盘的功能(详情参考:官方发布应用样例。10.3D打印机操作界面样例)
END