2019-08-21 12:43发布
subo19920716 发表于 2014-11-25 16:54 简单的交流下吧。 我没做过这么多项的,最多就几十项,而且分为很多级菜单。我是用双向链表实现的,占用空 ...
最多设置5个标签!
---------------------------------
您好,我的思路可能跟您的是一样的,我做的是一个变频器的液晶按键面板,一共有四级菜单,我也是把这些各级菜单做成一条链表,比如一参数设置二监控模式。。。后边接着有二级菜单的1.速度参数设置 2.频率参数设置 3.电压参数设置。。。。然后是三级菜单。。。,就这么排下来很多,所以说一共有900个,我在一个结构里面定义索引号,上翻键,下翻键,确认键,返回键,相应执行的函数,然后就可以定义一个结构数组,哪个键按下就会跳转到哪个索引号下。
但是问题是:比如我的二级菜单的参数设置很多,液晶每次显示4行汉字,按键往下按时选中哪一个,液晶反显哪一个,也就是我的每次四个函数内容基本一样,不同的是每次反显内容不一样,我想的是能把能把这四个内容基本一样的只是每次反显的内容不同合并一下,有方法能合并吗?
---------------------------------
液晶每次显示4行汉字,按键往下按时选中哪一个,液晶反显哪一个,也就是我的每次四个函数内容基本一样,不同的是每次反显内容不一样,我想的是能把能把这四个内容基本一样的只是每次反显的内容不同合并一下
---------------------------------
关于这一点,我觉得你应该把你的绘图层的代码封装好,留一个接口就行,这个接口传入的参数就是你当前的“表”以及“选中的项”,具体显示在液晶上的内容,靠这个封装好的代码来动态实现。而不是人为把这些菜单项可能出现的组合一一列举出来,这样肯定很浪费空间,你说的900个是指这种组合吧。
我觉得你应该把 “管理这些表的机制” 写强大点,而这些表里面保存的资源只是字符串、具体功能函数(如控制电机函数)等,实现界面维护的这个代码,应该具有读取“表”、生成“对应选中项(反显)”、以及具体绘图等功能,这样就可以把你900个函数大大压缩了。
我的多级菜单就是用switch case写出来的。要写很多。。。而且一修改就要修改一堆代码、、、我在网上有看到定义结构的方式,比我这简单不少。大神能给点算法思路吗
一周热门 更多>