stm32 TouchGFX基础教程(三)使用Button控制AnimatedImage

从本节起到十三节都是讲基本的控件使用方法,完全可以不用开发板,直接用VS仿真就行。如果想要在开发板上实现,请使用生成的工程模板。
本节实现用一个按钮控制动画的播放和暂停,所用素材完全来自ST官方例程。
一、按教程(一)配置好硬件驱动
二、将准备好的图片素材文件放进Src/assets/images文件夹,这样打开Touchgfx Designer项目的时候会自动将图片加入到工程里。
三、打开Touchgfx Designer,布局UI界面
1.从左侧控件栏添加Box控件,调整道合适大小,并在右侧属性栏随意选择填充颜色
stm32 TouchGFX基础教程(三)使用Button控制AnimatedImage_第1张图片
2、添加Button控件,更改Released Image和Pressed Image。Touchgfx是用位图的形式实现界面,所以更换了控件的图片就相当于更改了它的样式。
stm32 TouchGFX基础教程(三)使用Button控制AnimatedImage_第2张图片
3、添加AnimatedImage控件,并选择动画图片的第一帧和最后一帧
stm32 TouchGFX基础教程(三)使用Button控制AnimatedImage_第3张图片
4、在Interactions选项卡中添加两个交互如图
stm32 TouchGFX基础教程(三)使用Button控制AnimatedImage_第4张图片
5.点击Generate Code后,用Visual Studio打开Src\simulator\msvs\Application.sln,官方推荐的版本是VS2017以上,如果安装的是VS2019,会弹出升级界面,点确定就可以了。
stm32 TouchGFX基础教程(三)使用Button控制AnimatedImage_第5张图片
stm32 TouchGFX基础教程(三)使用Button控制AnimatedImage_第6张图片
四、在VS中更改代码
在Screen1ViewBase.hpp中可以看到我们之前填写的两个函数,已经被声明为虚函数,函数体中没有任何代码。因为Screen1View类继承了Screen1ViewBase类,最终touchgfx运行时实例化的是Screen1View对象,所以需要我们在Screen1View.cpp中具体实现这两个虚函数
stm32 TouchGFX基础教程(三)使用Button控制AnimatedImage_第7张图片
首先要在Screen1View.hpp中添加声明这两个函数:
stm32 TouchGFX基础教程(三)使用Button控制AnimatedImage_第8张图片
然后在Screen1View.cpp中具体实现:
stm32 TouchGFX基础教程(三)使用Button控制AnimatedImage_第9张图片点击运行就能看到仿真结果了stm32 TouchGFX基础教程(三)使用Button控制AnimatedImage_第10张图片
细心的同学可能发现一个问题,仿真窗口一出现动画就已经在播放了,不是想象的点击按钮才开始,我们可以在Touchgfx Designer中取消勾选Start on Load选项达到目的
stm32 TouchGFX基础教程(三)使用Button控制AnimatedImage_第11张图片
也可以在Screen1View.cpp的setScreen()函数中添加一行代码stm32 TouchGFX基础教程(三)使用Button控制AnimatedImage_第12张图片
小结
有C++语言基础的同学可能已经看出门道了,但是只会C的同学可能看得有点蒙,因为这一节不仅用到了继承、虚函数两个概念,还涉及到了Touchgfx是如何组织代码的,下一节将会简单地为大家梳理一下。

-------------------------------下面是我的小广告----------------------------------------------
在这里插入图片描述
淘宝小店:芯视界touchgfx

你可能感兴趣的:(stm32 TouchGFX基础教程(三)使用Button控制AnimatedImage)