emWin学习(2)————滑动列表控件SWIPELIST

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

前言

安卓系统上,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"
    },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值