你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】stm32基于TouchGFX的GUI开发(六):(Scroll List)滚动列表的使用

[复制链接]
STMCU小助手 发布时间:2022-3-10 10:00
一、界面布局以及资源添加
1、创建自定义控件


RYSNI@FP70254DY0WYGP~G9.png

2、创建主screen界面
指定Sscrcroll List的样式为自定义控件

68$G5`)95S}EG{GI8PBJ8LR.png

备注: 为了方便演示,本工程的背景图直接用的touchgfx界面里自带的图片。

二、功能实现
1、自定义控件设置图片方法实现

  1.         //.h文件中声明如下
  2.         void setBitmap(int16_t index);
复制代码

`%4V[ES7RV}92VK06ZIDO`C.png

2、实现Scroll List的虚函数
  1. 下图是Scroll List的虚函数,每次更新item时会调用
复制代码

ZN4TCM$GMY%BN8{_8UT~3M9.png

3、主界面的构造函数中添加界面初始化代码
  1. //别忘记增加图片头文件
  2. #include "BitmapDatabase.hpp"
  3. //采用参数列表初始化方式
  4. Screen2View::Screen2View():callback(this,&Screen2View::callbackHandler)
  5. {
  6.         scrollList1.setItemSelectedCallback(callback);
  7.         scrollList1.animateToItem(scrollList1.getNumberOfItems() / 2);
  8. }
复制代码

4、回调函数的实现
  1. 回调函数的声明
复制代码



  1. 回调函数的实现
复制代码
  1. void Screen2View::callbackHandler(int16_t index)
  2. {
  3.         box1.invalidate();
  4.         switch (index)
  5.         {
  6.         case 0:
  7.                 image1.setBitmap(Bitmap(BITMAP_DARK_ICONS_CALENDAR_48_ID));
  8.         break;
  9.         case 1:
  10.                 image1.setBitmap(Bitmap(BITMAP_DARK_ICONS_DOCUMENT_48_ID));
  11.         break;
  12.         case 2:
  13.                 image1.setBitmap(Bitmap(BITMAP_DARK_ICONS_FOLDER_48_ID));
  14.         break;
  15.         case 3:
  16.                 image1.setBitmap(Bitmap(BITMAP_DARK_ICONS_INBOX_48_ID));
  17.         break;
  18.         case 4:
  19.                 image1.setBitmap(Bitmap(BITMAP_DARK_ICONS_MOVIE_48_ID));
  20.         break;
  21.         default: break;
  22.         }
  23.         image1.invalidate();
  24. }

复制代码

收藏 评论0 发布时间:2022-3-10 10:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版