




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
菜单界面的实现方法读GorgonMeducer傻孩子菜单引擎,菜单界面的实现方法,建议在看下面内容之前复习一下C语言的如下内容1、结构体2、指向函数的指针3、结构体链表4、傻孩子的菜单引擎,菜单结构体代码structMenuItemshortMenuCount;char*DisplayString;void(*Subs)();structMenuItem*ChildrenMenus;structMenuItem*ParentMenus;Null;,菜单界面的实现方法,菜单结构体,当前层节点数,即每层菜单最多能显示的条目数目的:1、在菜单读取前先读取这个菜单总共拥有的项目数,防止越界。在菜单读取过程中将会有一个计数变量存储菜单移动。所以需要这个变量来确定移动的上界;2、可以方便的实现菜单的滚动。例如:“文件”菜单依次下有:“打开”、“保存”、“打印”、“退出”这4个子项,如果计数存储达到上界“退出”即(MenuCount=4)时再继续向下一级翻页则会回到“打开”。,菜单界面的实现方法,菜单结构体,指向菜单标题字符串的指针目的:指向菜单标题的字符串,指向当选中该级菜单后所要显示的字符串。,菜单界面的实现方法,菜单结构体,指向当前状态应该执行功能函数的指针目的:说明如果选中该级菜单应当执行什么程序,这个指针指向该项所要实现功能的函数。例如:菜单项为“播放”,则该函数指向Play();,菜单界面的实现方法,菜单结构体,指向当前菜单的下级菜单目的:指向结构体指针,用于存储下一级菜单,在后面的链表中详细说明。,菜单界面的实现方法,菜单结构体,指向当前菜单的上级菜单目的:指向结构体指针,用于存储上一级菜单,在后面的链表中详细说明。,菜单界面的实现方法,菜单结构体,菜单界面的实现方法,下面以下图所示菜单结构实现为例分析结构体的实际运用:,TimeSet,VoiceCenter,RobotControl,FlashOption,菜单结构体,菜单界面的实现方法,首先看一下代码示例:,voidRobotMenuInit(void)RobotMenu0.MenuCount=5;RobotMenu0.DisplayString=TurnLeft;RobotMenu0.Subs=RobotTurnLeft;RobotMenu0.ChildrenMenus=,RobotMenu菜单有5个子项,菜单结构体,菜单界面的实现方法,首先看一下代码示例:,voidRobotMenuInit(void)RobotMenu0.MenuCount=5;RobotMenu0.DisplayString=TurnLeft;RobotMenu0.Subs=RobotTurnLeft;RobotMenu0.ChildrenMenus=,RobotMenu菜单的第一个子项(用一个菜单结构体实现的RobotMenu数组)标题为“TurnLeft”,菜单结构体,菜单界面的实现方法,首先看一下代码示例:,voidRobotMenuInit(void)RobotMenu0.MenuCount=5;RobotMenu0.DisplayString=TurnLeft;RobotMenu0.Subs=RobotTurnLeft;RobotMenu0.ChildrenMenus=,RobotMenu菜单一个子项“TurnLeft”实现的功能函数为RobotTurnLeft();用执行函数指针指向这个函数。,菜单结构体,菜单界面的实现方法,首先看一下代码示例:,voidRobotMenuInit(void)RobotMenu0.MenuCount=5;RobotMenu0.DisplayString=TurnLeft;RobotMenu0.Subs=RobotTurnLeft;RobotMenu0.ChildrenMenus=,RobotMenu菜单一个子项“TurnLeft”没有子菜单,所以指向一个空的操作。,菜单结构体,菜单界面的实现方法,首先看一下代码示例:,voidRobotMenuInit(void)RobotMenu0.MenuCount=5;RobotMenu0.DisplayString=TurnLeft;RobotMenu0.Subs=RobotTurnLeft;RobotMenu0.ChildrenMenus=,RobotMenu菜单一个子项“TurnLeft”的上一级菜单为主菜单。,菜单结构体,菜单界面的实现方法,菜单结构体链表,VoidDateSet(void);,voidMainMenuInit(void);,voidTimeMenuInit(void);,由MainMenuInit(void)和TimeMenuInit(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030化妆品行业质量安全事故案例与风险管理
- 2025-2030化妆品替代毒理学检测方法验证与行业应用现状研究
- 2025-2030冷链食品包装技术创新与保鲜效果研究报告
- 2025-2030冷链物流网络优化与智慧化升级投资分析
- 2025-2030冷链物流温控技术升级与生鲜电商履约成本优化方案研究
- 2025-2030冷链物流智能化改造需求与设备升级投资分析报告
- 2025-2030冷链物流基础设施扩建规划与区域市场投资热点分析
- 2025-2030冷链医药仓储自动化升级需求与投资效益评估
- 2025-2030农用生物聚合物保水剂性能改良与抗旱效益计量
- 2025-2030农村地区早期教育资源配置缺口与解决方案报告
- 2025年兵团职工考试试题及答案大全
- 公安保密培训课件
- 经口腔镜甲状腺切除术
- DB32T 5124.1-2025 临床护理技术规范 第1部分:成人危重症患者目标温度管理
- DB34T 4985-2025“多规合一”实 用性村庄规划编制规程
- 山东省威海市荣成市实验中学(五四制)2024-2025学年八年级上学期期末考试数学试题(含部分答案)
- 《非甾体抗炎药物》课件
- 2024焊接工程师考试考生试题及答案
- 量子力学判断试题及答案
- 专利百科手册 2025-智慧芽
- 烟道供货及安装合同模板
评论
0/150
提交评论