前言
安卓系统上,QQ和微信的信息浏览都是可以通过上下滑动来快速浏览通知信息的,那emWin可以实现这样的效果吗?答案是肯定的。emWin5.32以上的版本就新增了滑动列表控件用来实现这样的效果。本文使用emWin5.44版本,简单演示滑动列表控件SWIPELIST的使用。
概述
滑动列表控件的使用与其他控件的使用类似,不同点需要我们认真阅读使用手册并且多加使用摸索。滑动列表控件的一个项目的结构如下所示:

控件是可以发送通知WM_NOTIFY_PARENT消息到其父窗口的,但是对键盘信息无反应,这点是要注意的。所以,如果用户需要使用外部按键控制选中项或者其他操作,可以使用自定义通知的方式来实现。
实验分析
(1)代码修改
在编写代码之前,有个问题需要我们想:假设我需要在滑动列表的单个Item里面添加其他控件,通过点击添加的控件来实现不同的效果,那么如何识别我点击的控件是哪一个呢?
我们可以这样做:首先,创建一个滑动列表控件,然后重新创建一个Windows控件并且附加到滑动列表控件,最后在这个Windows控件的回调函数里去创建其他额外控件,那么当我们点击这些额外控件时,对应的Windows回调函数里面就会收到消息,通过获取控件的ID就可以识别点击的是哪个控件了。
#define ID_SWIPELIST_WIN (GUI_ID_USER + 0x01)
static const GUI_WIDGET_CREATE_INFO _aDialogCreate_SWIPELIST[] = {
{ WINDOW_CreateIndirect, "Window", ID_SWIPELIST_WIN, 0, 0, 470, 190, 0, 0x0, 0 },
};
static const char * _aPatients[][3] = {
{
"Sam",
"18",
"Male"
},
{
"Jenny",
"17",
"Female"
},
{
"Tony",
"13",
"Male"
},

本文介绍了如何在emWin5.44版本中使用滑动列表控件SWIPELIST,展示了如何创建带有附加控件的滑动列表项,并通过用户交互控制显示内容。通过在滑动列表的每个项目中添加Windows控件,当点击这些控件时,可以识别并响应不同的操作。实验分析部分详细解释了代码实现过程,包括创建滑动列表、设置回调函数以及处理用户交互事件。
最低0.47元/天 解锁文章
225

被折叠的 条评论
为什么被折叠?



