历史上的今天
今天是:2025年06月27日(星期五)
2020年06月27日 | 8.TouchGFX界面应用之自定义容器
2020-06-27 来源:eefocus
TouchGFX的支持自定义组件,类似于你自定义一个函数然后给其他调用,这里就是定义一个组件给其他调用。定一个小目标,我们这一节自定义做一个调色板。
在添加屏幕旁边自定义组件(自定义容器)里面。

调色板以下图作为参考,颜色模式是RGB888,需要3个滑动块,以及一些字样。

做3个滑块作为RGB三种颜色的输入量,滑块是可以设置滑过去和没滑过去的颜色的,但是必须是以图片的形式,所以你如果想做的美观一点的话需要提前做大量的图或者使用UI,图片的数量也决定的所使用内存的数量,如果可以图片尽可能的小来节省内存。取好对应的名字,设置最小值为0,最大值为255,开始值设置为0;


放置几个字体,右边三个字是需要根据滑块的位置来改变的的,所以我们设置成通配符,

放置一个块作显示RGB对应的颜色,第一个和第二个都可以选择,第一个不带边框,第二个带边框,我选择第二个,把边框设置为0,颜色默认黑色,可以不设置为黑色,根据前面滑块的开始值来修改颜色,R =0,G=0,B=0为黑色。


摆好,如果认为我这样不好看,你也可以安装自己喜欢样子摆,没有添加背景并且显示背景是灰色和白色小方块说明背景是透明的。

这样自定义组件(自定义容器)就做好了?并没有,我i们只是设置好了图形是这样但是我们没有将他们关联起来,在自定义组件(自定义容器)的互动里面添加3个互动,分别对应3个滑块。

这样图形化的界面完成了,我只需要实现3个函数就可以了。在屏幕将自定义的组件(容器)放上去,然后生成代码,找到CustomContainer1Base.hpp和CustomContainer1.hpp两个文件

在CustomContainer1Base.hpp中有3个滑块的互动函数。

我们将他拷贝到CustomContainer1.hpp的CustomContainer1中,声明一个变量来作为颜色值,上面我们说到颜色模式是RGB888的,但是我们屏幕使用的是RGB565的所以我们需要进行转换,如果你使用的也是RGB888那么你将重新实现颜色转换,而且uint16_t也保存不了了,需要更高位数的变量如uint32_t。颜色转换后还要将滑块的值显示出来,然后将转换的颜色显示送给box显示出来。

启动模拟器

如果需要在STM32上面显示需要添加自定义容器的文件,CustomContainer1.cpp等等。不然编译报错说未定义符号。
史海拾趣
|
基本要求, CPU 200Mhz以上 802.11 b/g WiFi(具备Infrastructure和Ad-Hoc模式) 音频输入,有麦克风 音频输出,有扬声器,音量有开关可以调节 SDRAM 64M Nand Flash 64M 2个按键输入 能运行Linux或者Win CE,提供驱动。 尺寸在100mm*50mm之 ...… 查看全部问答> |
|
我想在Linux下或者WinCE下用C++做一个swf文件播放器,起码支持AS2.0的。我在网上找了很多资料,包括Adobe官网上所谓的Flash SDK就是从Adobe上下的一个文件格式说明。目前我手上有个旧的版本,支持FLASH 4的播放,找不到新的。 最想要的是FLASH PLA ...… 查看全部问答> |
|
Wince下2个普通GPIO(模拟TX,RX)+1个定时器模拟串口通信的驱动问题,搞不定就的走人了,大家帮帮忙啊! 大家好!我们用的是君正jz4740的CPU,由于JZ4740只有两个串口(已有用途),现在不够,用需要第三个串口, 于是乎想用GPIO来模拟一个串口来通信,我的gpio模拟串口是用在终端通讯上的,要通过串口发送和接收少量的 数据(比如我要拨打电话,就通过 ...… 查看全部问答> |
|
我使用了LM3S9B90芯片,但发现芯片的FLASH很容易就被损坏,具体情况如下:当我在用bootload升级代码的时候,完成后,重新掉电和上电(上掉电时间比较短),发现有好几块都出现没反应,用flash programer软件(ICDI模式)也无法对芯片进行程序烧录,不 ...… 查看全部问答> |
|
天楹(上海)光电科技有限公司诚聘品质人员:岗位名称:测试技术员具体要求:1、协助测试工程师完成指定的测试项目;2、对测试结果进行记录并填写测试记录表;3、对测试设备和测试场地进行日常的维护及清洁。1、中专以上学历,机电、机械、电子、测 ...… 查看全部问答> |




