菜单

2.2 窗体控件

下载

1 分类

窗体用于组织用户界面,HMI上的各种控件、元器件、图形、文字等需要放在窗体来显示。

 
依照功能不同,窗体分为以下类型:
  • 普通页 ~ 最常使用的页面
  • 公共页 ~ 后台页,通常用于放在长期后台运行的控件,最多一个
  • 屏保页 ~ 用于显示屏保,最多一个
  • 输入法 ~ 提供用户定制数字输入页,最多一个

2 层次、打开方式、透明度

2.1 层次关系

显示层次如下图所示,

2.2 打开方式

仅对普通页面有效

1) 普通页

普通页面支持以下几种打开方式,

方式

描述

新建方式

创建前清除所有已经显示的普通页,节省内存资源,同时关联的设备变量不再参与设备通讯,提高通讯效率。

弹出方式

在当前页面上一层创建新的页面,用于弹窗显示。

嵌入方式

创建新页面并嵌入到当前页面中的某个面板控件中。

组态时通常在按钮或元件的事件处理中使用,

2) 公共页

(如果有公共页)在APP启动时自动创建并放在所有普通页面的最下面。

3)屏保页

(如果有屏保页)弹出屏保页时出所有页面的最上面。如果开发者启用屏保但未创建屏保页,会自动使用内置屏保页。

4)输入法

结合数值输入元件使用,弹出在当前页的上面。

2.3 透明度

透明度:

  1. 页面默认是不透明的,如果某个页面设置为透明或半透明,则会显示下面的页面画面。
  2. 普通页、公共页、屏保页、输入法页面都可以设置透明度;

2.4 关闭

在关闭页面操作时要明确知道目标对象页面层级关系,合理选择关闭方式,

一般用在当前页面采用弹窗方式时关闭自己用。

 

3 普通页

普通窗体]是最常被使用的窗体类型。 在“控件面板”上点击页面控件按钮创建窗体。

提示:普通窗体可以自定义大小,如果大小比屏幕分辨率大将变为可拖动的。

属性

项目

描述

控件

窗体ID,唯一,不可修改

描述

对该页面的描述

位置

左上角位置

大小

窗体大小

窗体标题

该页面标题,可编辑修改

主背景

设置背景的主色、填充色、渐变样式、不透明度或者使用图片,图片会拉伸到整个页面

事件处理

窗体拥有以下几个特殊事件:

1)onInit

  打开窗体前,用户可在onInit方法做额外初始化工作

2)onLoad

  打开窗体后,用户可在onLoad方法添加其它处理代码

3)onClosing

  关闭窗体前,用户可用做需要的判断和处理

4)onDispose

  关闭窗体后,用户可用销毁或释放系统资源

参考视频:

 

4 公共页

公共窗体主要是用来存放一些程序运行后不希望销毁的资源,例如定时器、串口控件、打印机等,公共窗体在程序运行后永远不会被关闭,它始终运行在所有窗体的最下层。

从其它页面访问公共页控件

假设公共页中有一个串口控件(wMCom1),如果我们要在其它页面中使用这个串口控件来发送串口指令,可以如下实现:

1. 在当前页面中包含公共页头文件

#include "Frm01.h"
//下面是添加的公共页头文件
#include "Wcmn.h"

2. 使用公共页串口控件发送指令

void Frm01::wMButton1_clk_cb(uint16_t code, LvEvent e) {
	/*wMButton1(功能键)的点击事件*/
	//获取公共页
	Wcmn* cmnPage = (Wcmn*) hmiApp->cWnd;
	//下面只是举例,发送指令
	vector<uint8_t> cmd;
	cmnPage->wMCom1->writeData(cmd);
}

整个应用代码截图如下所示:

5 屏保页

系统默认有一个屏保页,当新建一个[屏保窗体]时,该页面将自动变成屏保页面。

注:屏保页只能新建一个。

参考视频:

6 输入法

当变量或者文本需要录入时,系统自带小写、大写、数字、符号与数字、T9拼音、K26拼音键盘。这些键盘弹出时的宽度是HMI分辨率宽度,高度是HMI分辨率高度的一半,当录入控件在屏幕的下半部分时,为了不遮挡录入效果,整个页面会向上移动留下来屏幕的一半存放弹出键盘。当用户不满意这种效果时,用户可以自定义输入法页实现录入。

默认输入法页如下图示:

最近修改: 2025-03-03Powered by