切换到宽版
  • 3972阅读
  • 11回复

[C51][12864]做了个图形式静态菜单 [复制链接]

上一主题 下一主题
离线nhygvfr
 
发帖
45
M币
180
专家
1
粉丝
1
只看楼主 倒序阅读 我要置顶 楼主  发表于: 2016-07-03
不多说,先上图



此菜单移植性较差,所以如果没有人有强烈求源码的愿望的话,我就不发源码了
在做完这个菜单后,我才上网参考其他人所做的菜单,发现原来大家所说的单片机的菜单原来指的是一张画面用到底的菜单,而不是这种图形式菜单。
其实这就是造成移植困难的主要原因(不能移植到没有绘图能力的屏幕上),另一个原因是菜单用了比较多的私人绘图函数(体积较大,看字体就知道了)。
不过即便如此我还是想介绍下这个菜单的特性:
构建速度非常快!
如图的菜单只需如下一点点的程序即可完成:
code menu_unit test_menu4[]={
{"HELLO\0"},{"MADE\0"},{"BY\0"},{"AOU\0"}
},test_light3[]={              
{"ON L4\0" ,choosing_6},{"OFF L4\0" ,choosing_5},{"MORE >\0" ,0,test_menu4,4}
},test_light2[]={              
{"OFF L2\0" ,choosing_3},{"OFF L3\0" ,choosing_4},{"L4   >\0" ,0,test_light3,3}
},test_light1[]={        
{"OFF >\0" ,0,test_light2,3},{"MORE>\0" ,0,test_menu4,4},{"ON L2\0" ,choosing_1},{"ON L3\0" ,choosing_2}};
//{"选项的名称",选项被选择后执行的函数,选项被选择后打开的子菜单,子菜单下的项目数}
使用非常方便!
主程序里填写信息
menu_list mouse[6]={{3,3,test_light1,4,0}};
//{菜单顶点x座标,y座标,要启动的菜单,菜单下的项目数,光标所指的项目序号}
然后使用
menu_refresh(mouse);刷新下
就可以使用
menu_down(mouse);menu_enter(mouse);menu_back(mouse);
对光标进行操作了。而且菜单不打扰程序主进程,不会长时间占用CPU,可以在屏幕左边显示菜单,右边运行主程序。
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
本帖最近打赏记录:共8条打赏 ,M币+84 ,专家+1
关键词: 12864菜单
离线飞龙舞天

发帖
1557
M币
1787
专家
8
粉丝
47
只看该作者 1楼 发表于: 2016-07-03
请登录后查看
离线absflash
发帖
1719
M币
2459
专家
3
粉丝
38
只看该作者 2楼 发表于: 2016-07-03
请登录后查看
离线2545889167

发帖
13268
M币
20754
专家
302
粉丝
4860
只看该作者 3楼 发表于: 2016-07-03
请登录后查看
离线lailai518

发帖
1056
M币
4113
专家
4
粉丝
21
只看该作者 4楼 发表于: 2016-07-04
请登录后查看
离线nhygvfr
发帖
45
M币
180
专家
1
粉丝
1
只看该作者 5楼 发表于: 2016-07-04
回 2545889167 的帖子
请登录后查看
离线nono鎶

发帖
619
M币
90
专家
2
粉丝
10
只看该作者 6楼 发表于: 2016-07-04
请登录后查看
离线2545889167

发帖
13268
M币
20754
专家
302
粉丝
4860
只看该作者 7楼 发表于: 2016-07-04
回 nhygvfr 的帖子
请登录后查看
离线nhygvfr
发帖
45
M币
180
专家
1
粉丝
1
只看该作者 8楼 发表于: 2016-07-04
回 nono鎶 的帖子
请登录后查看
离线nhygvfr
发帖
45
M币
180
专家
1
粉丝
1
只看该作者 9楼 发表于: 2016-07-04
请登录后查看
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
快速回复
限80 字节
“新手上路”发帖需审核后才能显示(请认真发帖),达到数码9级后取消此限制
 
上一个 下一个