菜单

2.1 控件属性

下载

本章介绍控件的分类、组成、外观样式、事件处理等基本属性与设置方法。

参考视频

1 控件分类

按控件用途,Apus IDE平台提供控件分为:
1. 窗体
2. 常规控件
3. 元件
4. 数据/资料
5. 外设
 

2 控件组成

控件由一个或多个具有特定外观的部件组成。部件也可以包含文字。

1)单部件控件

面板控件只有一个主背景部件:

2)双部件控件

进度条由主背景与指示条两个部件组成

        ① 是主背景
        ② 是指示条

3)多部件控件

滑块由主背景、指示条、滑块三个部件组成

       ① 主背景

       ② 指示条

       ③ 滑块

通过查看控件的外形和属性,我们可以看出控件是由哪几个部件组成,分别设置这些部件的样式。

 

3 控件样式

通过控件属性,用户可以对控件的各个组成部件单独设置其外观样式。

样式主要由背景、边框、颜色等属性组成。以下以面板控件为例。

面板控件默认是不透明显示的,但也可以通过背景实现透明显示、背景色到填充色渐变、边框圆角、边框粗细等效果。

例如下面效果:

不透明度

0-255,0:透明 255:不透明

背景主色

当“不透明度”非零时起作用

背景填充色

渐变色,当“填充方式”非空时起作用

填充方式

水平或垂直或无

圆角半径

边框的圆角半径

边框颜色

边框粗细非零时有效

边框粗细

边框的粗细

使用图像

选择是否使用图像

图像文件

选择图像文件

图像缩放

缩放图片填充控件:图片适应控件大小;

缩放控件到图片大小:控件大小适应图片的原始尺寸

 

4 字体与颜色

控件支持ttf矢量字库,支持几乎所有的电脑已安装字库,用户界面使用字库不宜太多,字库会占用存储空间。可单独设置控件在某种状态下文字的字体、大小与颜色属性。比如功能键按钮,需要分别设置按下、松开两个状态下的文字、字体、大小与颜色。

 

 

5 动画效果

通过设置文字前景色、背景等,可以实现通过变量控制颜色变化,比如说闪烁、移动等。

5.1 文字前景色/背景色变化

设置文字主颜色由变量值控制:
 

a) 选择控制变量:前景色的颜色将根据该变量的值改变

b) 添加几个颜色分段值并选择相应的颜色

说明:如上图示分段值必须由小到大,图示的例子是0-59显示黑色,60-71显示橙色,72-99显示红色,100以上显示紫色;

 

5.2 边框颜色:

设置控件边框颜色由变量值控制;

5.3 水平/垂直移动:

设置控件水平坐标位置由变量值控制;
 

5.4 大小变化

设置控件尺寸变化由变量值控制;
 

6 可见控制

通过变量控制控件是否可见。

 

7 启用设置

有触控功能的控件才具有此属性,关联控制变量后,根据变量的值来控制控件的启用和禁用触控功能。

8 闪烁效果

控件闪烁效果分为两种:

1. 通过控制控件可见性进行闪烁控件可见与不可见交替闪烁:
2. 通过控制控件的属性进行闪烁改变控件的字体颜色、背景色和边框颜色属性实现闪烁:
3. 条件:可以按照需要的条件进行选择,与关联的变量有关;
4. 速度控制:慢、正常和快。

参考视频:

 

 

9 事件处理 

事件处理可以根据用户操作,执行相应的功能。通过设置来让功能键控件响应不同的事件处理功能,实现不同事件处理逻辑。点击事件、按下事件、松开事件和长按事件是事件处理的四大触发。

参考视频:

1. 执行函数

可以生成函数,自动跳转到程序界面,无需额外注册函数:

void Frm01::wMMSwitch1_clk_cb(uint16_t code, LvEvent e) {
	//事件处理
}

将需要写的内容写在这个事件里,当选择某一种触发方式时(需要绑定事件的触发方式)就会执行该函数。在页面编写页中会有代码助手,可以根据代码助手进行选择变量和方法。

2. 打开窗口

此时有三个选项,上面选择需要打开的窗口
  1. 清除当前并创建新窗口是默认模式,打开新页面时会自动关闭当前页面。
  2. 弹出新窗口,从父页面弹出子页面,若要关闭则必须先关闭子窗口,再关闭父窗口
  3. 将某个页面嵌入到某个窗口中,内嵌某个页面,如下图所示:

应用案例:

3. 关闭窗口

可以选择关闭当前窗口,也可以关闭指定窗口。

4. 系统功能

可以在列表中选择系统设置的内置页,对系统内置页进行查看和配置。
 

5. 变量操作

1) 整数

执行动作

描述

置ON

按压此控件后,所指定的变量状态将被设置为ON。

置OFF

按压此控件后,所指定的变量状态将被设置为OFF。

取反

按压此元件后,所指定的变量状态将被反向设定,即ON→OFF, OFF→ON。

按1松0

按压此控件后,所指定的变量状态将先被设定为 ON,但手放开后,状态将被设定为OFF。

按0松1

按压此控件后,所指定的变量状态将先被设定为 OFF,但手放开后,状态将被设定为ON。

周期切换

所指定的变量状态将在ON与OFF间周期性切换,此模式为自动执行。可设定的周期为 0.1 秒 ~ 25.5 秒。

写入常值

设定常数功能。每按压一次控件,[设定常数] 中的设定值将写至指定的变量中。常数的型态可为 16-bit BCD、32-bit BCD、…、等。以下图为例,当按压此按钮后,会将数值 22 写入指定的变量中。

 

递加

加值功能。每按压一次控件,所指定变量的数据将加上 [递加步长] 中设定的增量值,但增值的结果将不超过 [上限设定] 中的设定值。以下图为例,每按压一次此按钮后,会将指定的变量中的数值+1,直至抵达上限值 100。

递减

减值功能。每按压一次控件,所指定变量内的数据将减去 [递减步长] 中设定的减量值,但是减值的结果不会低于 [下限设定] 中的设定值。以下图为例,每按压一次此按钮后,会将指定的变量中的数值减1,直至抵达下限值 0。

周期递增 (至上限)

步进功能。使用 [频率] 设定的周期,每次将所指定变量内的数据加上

[递增步长]中的设定值,直到变量内的数据等于[上限设定]。

以下图为例,系统会自动将指定的变量中的数值以每 0.5 秒的频率加1,直到抵达上限值100。

周期递减 (至下限)

步退功能。使用 [频率] 设定的周期,每次将所指定寄存器内的数据减去

[递减步长]中的设定值,直到变量内的数据等于 [下限设定]。

以下图为例,系统会自动将指定的变量中的数值以每 0.5 秒的频率减1,直到抵达下限值0。

周期循环递增

步进功能。使用 [频率] 设定的周期,每次将所指定变量内的数据加上

[递增步长]中的设定值,直到变量内的数据等于[上限设定],然后数据会恢复成下线设定的值,实现数据循环往复。

以下图为例,系统会自动将指定的变量中的数值以每 0.5 秒的频率加1,直到抵达上限值100,达到上限值时会重新将数据置为下线设定,然后继续递加,实现循环往复。

周期循环递减

步退功能。使用 [频率] 设定的周期,每次将所指定寄存器内的数据减去

[递减步长]中的设定值,直到变量内的数据等于 [下限设定],然后数据会恢复成上线设定的值,实现数据循环往复。

以下图为例,系统会自动将指定的变量中的数值以每 0.5 秒的频率减1,直到抵达下限值0,然会会恢复到上线设定值100。

周期往复变化

使用 [间隔时间] 设定的周期,每次将所指定变量内的数据加上

[变化步长]中的设定值,直到变量内的数据等于[上限设定],然后数据会从[上限设定]开始按照间隔时间递减,知道变成下线设定的值,然后再次递增,实现数据循环往复。

以下图为例,系统会自动将指定的变量中的数值以每 0.5 秒的间隔时间加1,直到抵达上限值100,然后会从100开始依次递减到下线设定的0。

往复递增(从低到高)

加值功能。每按压一次元件,所指定变量的数据将加上 [递增步长] 中设定的增量值。当变量值达到上限时,从上限开始递减,直至下限往复循环。

以下图为例,每按压一次此元件后,会将指定的变量的数值加1,当抵达上限值100后会从100开始向下递减。

往复递减(从高到低)

减值功能。每按压一次元件,所指定变量值将减去 [递减步长]中设定的减量值。当变量值达到[下限设定]时,会从下限值开始递增直至[上限设定]。

以下图为例,每按压一次此元件后,会将指定的变量的数值减1,当抵达下限值0后会从0开始递增,直至100再开始递减。

循环递增(从低到高)

加值功能。每按压一次元件,所指定变量的数据将加上 [递增步长] 中设定的增量值。当变量值达到上限时,会复归回下限再重新递增。

以下图为例,每按压一次此元件后,会将指定的变量的数值加1,当抵达上限值10后会自动复归回0再递增执行。

循环递减(从高到低)

减值功能。每按压一次元件,所指定变量值将减去 [递减步长]中设定的减量值。当变量值达到下限时,会复归回上限再重新递减。

以下图为例,每按压一次此元件后,会将指定的变量的数值减1,当抵达下限值0后会自动复归回100再递减执行。

按住按钮时周期递加(至上限)

按住按钮时递加功能。若按压控件,则所指定变量内的数据将以[间隔时间] 所设定的速度,每次增加 [递加步长] 中设定的增量值,但增量的结果将不超过 [上限设定] 中的设定值。

以下图为例,每按压一次此按钮后,会将指定的变量中的数值加1,若按住此按钮的时间超过 0.5 秒后,会以每 0.5 秒的速度持续加1直到抵达上限值 100。

按住按钮时周期递减(至下限)

按住按钮时递减功能。若按压控件,则所指定寄存器内的数据将以[间隔时间] 所设定的速度,每次减少 [递减步长] 中设定的减量值,但减值的结果不会低于 [下限设定] 中的设定值。

以下图为例,每按压一次此按钮后,会将指定的寄存器中的数值减1,若按住此按钮的时间超过0.5秒后,会以每 0.5 秒的速度持续减1到抵达下限值 0。

按住按钮时周期递加(往复)

按住按钮时递加功能。若按压控件,则所指定变量内的数据将以[间隔时间] 所设定的速度,每次增加 [递加步长] 中设定的增量值,当达到上限值时,会按照步长依次递减,直到下线设定值,实现往复循环。

以下图为例,每按压一次此按钮后,会将指定的变量中的数值加1,若按住此按钮的时间超过 0.5 秒后,会以每 0.5 秒的速度持续加1直到抵达上限值 100,到达100后再次按压会从100开始依次按照步长递减。

按住按钮时周期递减(往复)

按住按钮时递减功能。若按压控件,则所指定寄存器内的数据将以[间隔时间] 所设定的速度,每次减少 [递减步长] 中设定的减量值,在达到下限后,会按照递减步长依次递加,直到上线值实现往复循环。

以下图为例,每按压一次此按钮后,会将指定的寄存器中的数值减1,若按住此按钮的时间超过0.5秒后,会以每 0.5 秒的速度持续减1到抵达下限值 0,到达0后再次按压会从0开始依次按照步长递增。

按住按钮时周期递加(循环)

持续递加功能。当按住按钮时,根据[递加步长]的设定将指定变量的数据持续的递加至上限值,之后会以[递加步长]递减至下限值,周而复始。

以下图为例,每按压一次此按钮后,会将指定的变量的数值加1,若按住此按钮的时间超过 0.5 秒后,会以每 0.5 秒的速度持续加1直到抵达上限值100,接着会以[递加步长]递减至0再递增执行。

按住按钮时周期递减(循环)

持续递减功能。当按住按钮时,根据 [递减步长]的设定将指定变量的数据递减至下限值,之后会以[递减步长]递增至上限值,周而复始。

以下图为例,每按压一次此按钮后,会将指定变量的数值减1,若按住此按钮的时间超过 0.5 秒后,会以每 0.5 秒的速度持续减1 直到抵达下限值 0,接着会以0.5秒的频率递增至100,周而复始。

  

2)字符串

仅有写入常值功能,如图所示。

 

3)浮点数

具体功能可参照整数操作。

 

 

 

 

上一个
第二章 控件教程
下一个
同时启用【可见控制】【闪烁动画】
最近修改: 2025-04-06Powered by