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

【经验分享】stm32基于TouchGFX的GUI开发(五):(Scroll Wheel)滚轮容器的使用

[复制链接]
STMCU小助手 发布时间:2022-3-10 11:00
一、界面布局以及资源添加
% A: C' ~4 h7 |5 y1、创建自定义控件

0 R; K/ Y* I) t: e) x0 h1 }5 ~
  1.         这里解释一下为什么要创建两个自定义控件:因为Scroll Wheel控件中
    4 Z& F1 m! E/ }% e% M  l
  2.          有可以指定item选中和不选中时的样式。正好是我们最终需要实现的样式,
    # H" ?7 l7 H& X: A/ G# f( `. A4 X
  3.          所以我们在这要建两种样式。
复制代码
: Z8 o, q; @1 L, D$ N. h& _% q
不选中的item样式
) s, i" S" f6 f6 \$ a, F+ \+ E5 `! v5 }. b
CB660ZW9GM@2_BA1MTXAR{4.png 9 ?. p& K" g  a2 l, s7 v: m. J
" A5 }% A4 T5 N0 e: ]/ }" H
选中的item样式2 F( o$ F/ s0 W/ b# x& Q

7 I9 d# `7 V1 ^ }S6G2MA[7GG1CLX)~SE75BN.png % f% H* |  |# N# H: `' w0 V

1 h  s7 ~; }5 ], w) U# h2、创建主screen界面0 B* p" e( S1 a" |& l- O

5 A, A- S# ?: @( _% H! b 8MP%6OB4RQZB1FBKKW80OBS.png
5 X. A+ j' }' s: y6 V1 k6 B# m: W- b+ U# C1 o
3、Scroll Wheel关键参数设置
  s% O, G& r% \$ Y2 }- r
( U, `- T6 ^7 {2 c/ G4 }6 |0 M* H* f* [备注: 为了方便演示,本工程的背景图直接用的touchgfx界面里自带的图片。6 a  O# \. ]% o9 K- ]7 F% m
# T0 ^# n  `, e- t$ n9 |
二、功能实现
( f# A: `( n% v- n! F  |; r1、自定义控件设置文本

8 x0 ^# r) k; I/ t
  1. 两个自定义控件内都要实现,这里只列出一个。
复制代码
3 A- _/ Y6 D1 y# |4 Q  ?
`Z}RN~HA}MZP9O1FS24PN}E.png
; o2 O8 U% ?" [$ E6 C( D  V( F& y8 I5 R; k# C

+ o- d1 c! `3 J, n! D8 V2、实现Scroll Wheel自带的更新虚函数

) w5 y1 f& N0 R' y
  1. 下图是Scroll Wheel组件自带的虚函数
复制代码
; L2 V: z! @% U5 i" O2 e3 Q  g
3`DFL]Q$QZW$@O$V6$E@(5K.png : I5 @7 s/ Y, g- w
  1. 将其拷贝到Screen1View.h文件中,并在.c文件中实现
复制代码
# K6 g2 c3 {5 S6 N& v0 c
Q~WDD{U7K3WE}7G_S1I[39L.png ; P7 w  c& k* I! O( Y, v

5 A- t$ ?5 I7 F* v
  1.         实现后的代码如下
复制代码
) f9 d1 G& r! S* X6 A# @( I: \6 a$ C
B$@%FH)RA}23KP4JNY(48HP.png
3 `# _* @' C/ O5 b* w/ P' M7 ~2 ^3 E1 n$ z7 D( z( M( W$ }
3、主界面的构造函数中添加界面初始化代码
9 W- _2 p4 L3 {2 m, f, P: R5 h8 q7 L0 N+ P( s. \$ P6 b/ y
RXAJJ0IB%W6}KEGJ7Y[ECPM.png 5 h' e  D# l/ P0 r0 ]

# r3 M1 N7 F* ~2 L/ j2 a
  1. //采用参数列表初始化方式
    2 a' J6 j7 G1 [' d1 E4 G
  2. Screen1View::Screen1View() :callback(this, &Screen1View::callbackHandle)
    - i1 L2 b+ f. [: D% ]
  3. {
    + e$ Z0 u/ ?' w  a
  4.          //给scrollWheel1绑定回调函数
    + ~' k/ y  ]  C* L; |
  5.         scrollWheel1.setAnimateToCallback(callback);2 D0 p: L  Z, q+ N7 R7 F$ M
  6.          //设置scrollWheel1显示item! w# W( v% U0 ~3 @
  7.         scrollWheel1.animateToItem(scrollWheel1.getNumberOfItems()/2 );/ ^/ t& E# n/ e% {2 _9 G+ a
  8.         & Y* [. O; h! z6 A
  9. }
复制代码
4 k% R' Y) G( o* s: c1 R

6 T+ x( D, H) ?2 l
赞 收藏 评论0 发布时间:2022-3-10 11:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版