打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
干货 | LCD单层菜单翻滚的实现

在很多项目中我们都需要菜单,特别是多层菜单应用比较广泛,但是写一个能够很方便移植的多层菜单非常麻烦,我们这里就先研究一下单层菜单的翻滚的实现方式。

下面就以一个例子来说明此菜单的具体实现方法:

1. 假设本菜单使用在128*64的点阵LCM上。

2. 菜单显示为3行,一行为菜单项目名称。

3. 菜单选择项反白显示。

4. 一个采用5个按键:UP,DOWN,OK,LEFT,RIGHT。及上、下、左、右和确定键。

那么菜单可能产生的效果应该有以下18种情况:

从上面的图不难看出,8个菜单项,每次显示3项,最多有6种可能,而每一只种又有3种光标显示,所以一共就有18中显示状态。那么如果我们要通过上下按键来实现这几种菜单的显示,我们就必须找到它们之间的规律。认真看看图,看它们究竟有什么样的规律,开动你的大脑吧!

下面把它们的规律找出来:

1.横着3项菜单内容相同,只是光标位置不同,所以我们把横着相同的用页表示,一共分为6也Page = 0~5。

2.竖着6项光标相同,一共有3种可能,用Cursor = 0~2表示。

我们把每个菜单Page和Cursor已经这两个参数的和Sum表示出来,那么我们就能完全掌握它们的所有规律的了。

我们可以看出Sum相同的菜单,其光标位置是相同的,所以,我们只有控制好Cursor和Page两个变量就可以实现菜单的翻滚了。

很多网友不太理解菜单的翻滚方式,这里特做了两个简单的动画,一个上一直按上键,一个是一直按下键的动画,其他按键方式内同。


上键 


 

下键

以上意见实现了,单层菜单的滚动效果,思路非常简单,实现也很容易。有了上面的单层菜单实现的基础,要实现多层菜单就不难了,只需要注意几个方面:

1.实现菜单的上下层切换连接,也就是说在菜单中定义两个函数指针,一个指向上层菜单(父菜单),一个指向下层菜单(子菜单)。

2.从上层往下层移动时需要保护好上层菜单的参数不变,而从下层往上层时,应该清零下层菜单参数,以便下次进入下层菜单时从,下层菜单的起始处开始。

3.一个菜单定义一个结构体,保证参数便于存储,保存状态。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
数字示波器使用方法
wx python 基本控件
EasyBoot制作中文启动菜单教程
mac光标速度调整 | popozhu
鼠标光标变化之cursor的使用
单片机c语言编程实例:电子表
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服