傻孩子LCD菜单结构.ppt

上传人:小飞机 文档编号:6242381 上传时间:2023-10-09 格式:PPT 页数:15 大小:321.82KB
返回 下载 相关 举报
傻孩子LCD菜单结构.ppt_第1页
第1页 / 共15页
傻孩子LCD菜单结构.ppt_第2页
第2页 / 共15页
傻孩子LCD菜单结构.ppt_第3页
第3页 / 共15页
傻孩子LCD菜单结构.ppt_第4页
第4页 / 共15页
傻孩子LCD菜单结构.ppt_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《傻孩子LCD菜单结构.ppt》由会员分享,可在线阅读,更多相关《傻孩子LCD菜单结构.ppt(15页珍藏版)》请在三一办公上搜索。

1、菜单界面的实现方法读Gorgon Meducer 傻孩子菜单引擎,菜单界面的实现方法,建议在看下面内容之前复习一下C语言的如下内容1、结构体2、指向函数的指针3、结构体链表4、傻孩子的菜单引擎,菜单结构体代码struct MenuItem short MenuCount;char*DisplayString;void(*Subs)();struct MenuItem*ChildrenMenus;struct MenuItem*ParentMenus;Null;,菜单界面的实现方法,菜单结构体,当前层节点数,即每层菜单最多能显示的条目数 目的:1、在菜单读取前先读取这个菜单总共拥有的项目数,防止

2、越界。在菜单读取过程中将会有一个计数变量存储菜单移动。所以需要这个变量来确定移动的上界;2、可以方便的实现菜单的滚动。例如:“文件”菜单依次下有:“打开”、“保存”、“打印”、“退出”这4个子项,如果计数存储达到上界“退出”即(MenuCount=4)时再继续向下一级翻页则会回到“打开”。,菜单界面的实现方法,菜单结构体,指向菜单标题字符串的指针目的:指向菜单标题的字符串,指向当选中该级菜单后所要显示的字符串。,菜单界面的实现方法,菜单结构体,指向当前状态应该执行功能函数的指针目的:说明如果选中该级菜单应当执行什么程序,这个指针指向该项所要实现功能的函数。例如:菜单项为“播放”,则该函数指向P

3、lay();,菜单界面的实现方法,菜单结构体,指向当前菜单的下级菜单目的:指向结构体指针,用于存储下一级菜单,在后面的链表中详细说明。,菜单界面的实现方法,菜单结构体,指向当前菜单的上级菜单目的:指向结构体指针,用于存储上一级菜单,在后面的链表中详细说明。,菜单界面的实现方法,菜单结构体,菜单界面的实现方法,下面以下图所示菜单结构实现为例分析结构体的实际运用:,Time Set,Voice Center,Robot Control,Flash Option,菜单结构体,菜单界面的实现方法,首先看一下代码示例:,void RobotMenuInit(void)RobotMenu0.MenuCou

4、nt=5;RobotMenu0.DisplayString=Turn Left;RobotMenu0.Subs=RobotTurnLeft;RobotMenu0.ChildrenMenus=,Robot Menu菜单有5个子项,菜单结构体,菜单界面的实现方法,首先看一下代码示例:,void RobotMenuInit(void)RobotMenu0.MenuCount=5;RobotMenu0.DisplayString=Turn Left;RobotMenu0.Subs=RobotTurnLeft;RobotMenu0.ChildrenMenus=,Robot Menu菜单的第一个子项(用一

5、个菜单结构体实现的RobotMenu数组)标题为“Turn Left”,菜单结构体,菜单界面的实现方法,首先看一下代码示例:,void RobotMenuInit(void)RobotMenu0.MenuCount=5;RobotMenu0.DisplayString=Turn Left;RobotMenu0.Subs=RobotTurnLeft;RobotMenu0.ChildrenMenus=,Robot Menu菜单一个子项“Turn Left”实现的功能函数为RobotTurnLeft();用执行函数指针指向这个函数。,菜单结构体,菜单界面的实现方法,首先看一下代码示例:,void R

6、obotMenuInit(void)RobotMenu0.MenuCount=5;RobotMenu0.DisplayString=Turn Left;RobotMenu0.Subs=RobotTurnLeft;RobotMenu0.ChildrenMenus=,Robot Menu菜单一个子项“Turn Left”没有子菜单,所以指向一个空的操作。,菜单结构体,菜单界面的实现方法,首先看一下代码示例:,void RobotMenuInit(void)RobotMenu0.MenuCount=5;RobotMenu0.DisplayString=Turn Left;RobotMenu0.Sub

7、s=RobotTurnLeft;RobotMenu0.ChildrenMenus=,Robot Menu菜单一个子项“Turn Left”的上一级菜单为主菜单。,菜单结构体,菜单界面的实现方法,菜单结构体链表,Void DateSet(void);,void MainMenuInit(void);,void TimeMenuInit(void);,由MainMenuInit(void)和TimeMenuInit(void)两个函数初始化构造两个菜单数组,此时选中主菜单的Time Set选项,指针指向TimeMenu数组,按菜单移动键,选中DataSet选项,按下确认键后,无下一级子菜单,执行DataSet();函数,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号