搜索
bottom↓
回复: 212

最近读傻孩子的菜单程序,做了一个PPT,希望大家批评指正!

  [复制链接]

出0入0汤圆

发表于 2010-4-27 22:09:39 | 显示全部楼层 |阅读模式
读傻孩子的一个菜单引擎,然后做了一个ppt,希望能对像我这样对菜单不太了解的朋友有个帮助,更欢迎大家批评指出其中的错误。谢谢!
由于论坛原因,大家把下载文件后缀改为.ppt才能看!

(原文件名:1.jpg)


(原文件名:2.jpg)



菜单界面的实现方法 把后缀改成pptourdev_549774.pdf(文件大小:298K) (原文件名:菜单界面的实现方.pdf)

阿莫论坛20周年了!感谢大家的支持与爱护!!

如果想吃一顿饺子,就得从冰箱里取出肉,剁馅儿,倒面粉、揉面、醒面,擀成皮儿,下锅……
一整个繁琐流程,就是为了出锅时那一嘴滚烫流油的热饺子。

如果这个过程,禁不住饿,零食下肚了,饺子出锅时也就不香了……《非诚勿扰3》

出0入296汤圆

发表于 2010-4-27 22:11:36 | 显示全部楼层
顶~~~~~~~~~~~

出0入0汤圆

 楼主| 发表于 2010-4-27 22:19:40 | 显示全部楼层
回复【1楼】Gorgon Meducer 傻孩子
-----------------------------------------------------------------------

麻烦傻孩子帮我看看哪里有不对的地方
还有,我现在在做显示部分的PPT,希望不吝赐教!! 谢谢!!

出0入0汤圆

发表于 2010-4-27 22:23:12 | 显示全部楼层
顶一个

出0入0汤圆

发表于 2010-4-27 22:26:39 | 显示全部楼层
收藏,谢谢楼主哥,谢谢傻孩子。

出0入0汤圆

发表于 2010-4-27 22:37:31 | 显示全部楼层
支持一下~~嘿嘿

出0入0汤圆

发表于 2010-4-27 22:37:43 | 显示全部楼层
收藏,谢谢

出0入296汤圆

发表于 2010-4-27 22:39:18 | 显示全部楼层
to 【2楼】 airwolf09921  
    看了,内容太好了~8措~
    不过最好补充一点函数指针的例子。

出0入0汤圆

发表于 2010-4-27 22:46:03 | 显示全部楼层
哈哈~ 顶~!

出0入0汤圆

发表于 2010-4-27 22:49:13 | 显示全部楼层
做的不错。哈哈!

出0入0汤圆

发表于 2010-4-27 22:56:49 | 显示全部楼层
PPT做的很好.
另:把后缀名改为 .pps,双击就可以直接播放了.

出0入0汤圆

发表于 2010-4-27 22:57:23 | 显示全部楼层
MARK GUI

出0入0汤圆

发表于 2010-4-27 23:10:23 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-4-27 23:20:45 | 显示全部楼层
主程序在哪里呀 ?哈哈!!!

出0入0汤圆

 楼主| 发表于 2010-4-27 23:28:09 | 显示全部楼层
回复【13楼】bynce 罗曼
-----------------------------------------------------------------------

点击这里就可以看到主程序了!

(原文件名:3.jpg)

出0入0汤圆

发表于 2010-4-27 23:30:49 | 显示全部楼层
收藏

出0入0汤圆

发表于 2010-4-27 23:39:00 | 显示全部楼层
收藏。。。

出0入0汤圆

发表于 2010-4-27 23:50:29 | 显示全部楼层
顶,要好好做菜单啊!

出0入0汤圆

发表于 2010-4-28 00:42:11 | 显示全部楼层
记号!

出0入0汤圆

发表于 2010-4-28 08:30:46 | 显示全部楼层
不错

出0入0汤圆

发表于 2010-4-28 08:51:33 | 显示全部楼层
谢谢

出0入0汤圆

发表于 2010-4-28 08:54:37 | 显示全部楼层
PPT,做得不错。

出0入0汤圆

发表于 2010-4-28 08:59:13 | 显示全部楼层
不错

出0入0汤圆

发表于 2010-4-28 09:11:21 | 显示全部楼层
yes

出0入0汤圆

发表于 2010-4-30 20:27:29 | 显示全部楼层
为什么下载了看不了?

出0入0汤圆

发表于 2010-4-30 20:46:52 | 显示全部楼层
回复【4楼】tear086 .COM 缺氧
收藏,谢谢楼主哥,谢谢傻孩子。
-----------------------------------------------------------------------

.com缺氧;
真是无处不在哇

出0入0汤圆

发表于 2010-4-30 22:51:12 | 显示全部楼层
有意思,我以前也移植过,个人感觉把代码打印出来看看也就懂了,不难

出0入0汤圆

发表于 2010-4-30 22:52:22 | 显示全部楼层
顺便说一下哦,背景色改成白色的是不是更好

出0入0汤圆

 楼主| 发表于 2010-4-30 23:53:10 | 显示全部楼层
回复【27楼】cyr_hongfeng
顺便说一下哦,背景色改成白色的是不是更好
-----------------------------------------------------------------------

这个风格是学习播布客 http://www.boobooke.com/bbs/ 的 建议用空可以看看哦 也是“开源”的 呵呵

出0入0汤圆

发表于 2010-5-1 00:27:48 | 显示全部楼层
顶楼主,mark

出0入0汤圆

发表于 2010-5-1 00:32:35 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-5-1 02:07:28 | 显示全部楼层
标记  呵呵

出0入0汤圆

发表于 2010-5-1 07:54:17 | 显示全部楼层
真好呀

出0入0汤圆

发表于 2010-5-1 09:47:59 | 显示全部楼层
PPT,做得不错,,

出0入0汤圆

发表于 2010-5-1 09:49:30 | 显示全部楼层
PPT,做得不错,,

出0入0汤圆

发表于 2010-5-1 10:09:33 | 显示全部楼层
记号

出0入0汤圆

发表于 2010-5-1 10:29:12 | 显示全部楼层
捷径啊这是,mark

出0入0汤圆

发表于 2010-5-1 12:08:00 | 显示全部楼层
ding

出0入0汤圆

发表于 2010-5-5 11:18:03 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-5-5 11:24:14 | 显示全部楼层
真不错,MARK!!

出0入0汤圆

发表于 2010-5-5 11:26:55 | 显示全部楼层
文件好像挂掉了,下载后打不开了!!
有没有兄弟有,重新上传一下,谢谢了!!

出0入0汤圆

发表于 2010-5-5 11:32:01 | 显示全部楼层
该后缀名.PDF为.PPT即可!

出0入0汤圆

发表于 2010-5-5 11:41:54 | 显示全部楼层
倒!!谢谢楼上,OK了!!

出0入0汤圆

发表于 2010-5-5 22:27:11 | 显示全部楼层
这个绝对要顶一下!
楼主辛苦了!

出0入0汤圆

发表于 2010-5-5 22:40:46 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-5-5 23:18:18 | 显示全部楼层
看了一下,很不错

出200入0汤圆

发表于 2010-5-6 00:22:10 | 显示全部楼层
谢谢

出0入0汤圆

发表于 2010-5-6 08:42:15 | 显示全部楼层
顶一个

出0入0汤圆

发表于 2010-5-6 08:58:56 | 显示全部楼层
棒极了,呵呵。

出0入0汤圆

发表于 2010-5-6 09:23:25 | 显示全部楼层
希望楼主在完善一下,对结构体链表看的不是很明白

出0入0汤圆

发表于 2010-5-6 09:37:43 | 显示全部楼层
顶!

出0入93汤圆

发表于 2010-5-6 09:55:18 | 显示全部楼层
个人不太喜欢,占用内存不少。每一个菜单项至少占用了10个字节,结构体中每一项均至少占用2个字节(针对8位机,32位机则更多,多至20字节,因为内存要对齐)。对于我这种小心翼翼使用内存的家伙来说,太大了。

struct MenuItem
{
    short MenuCount;   
    char *DisplayString;
    void (*Subs)();
    struct MenuItem *ChildrenMenus;
    struct MenuItem *ParentMenus;
}  Null;


我将写一个占用内存和Flash都较少的菜单方案,现在还在构思中,但绝对排除上面这种写法,该写法对与菜单项的状态(比如单选、复选等等)没有指示,增加的话则以消耗内存为代价。

出0入93汤圆

发表于 2010-5-6 10:08:55 | 显示全部楼层
菜单从本质上来说,只不过是一个链表。但是这个链表的写法可能千变万化。

本人曾经设想如下:
1)使用三个链表,一个表示菜单项,一个表示下拉的一组菜单,这两个都存储到Flash中去。另一个则是真正占用内存的,通过一个指针访问Flash中的菜单项。

比如菜单项
struct MenuItem{
  char* DisplayString;
  void (*Subs)(void);                  //参数void习惯加上,省得编译器发牢骚
  struct MenuItems* pChildItems;
};

struct MenuItems{                      //一组菜单
  unsigned char Count;
  struct MenuItem* pParent;            //父菜单
  struct MenuItem* pChildren[];        //子菜单,这里采用C99语法,可以表示不定长的结构
};

///////////////////////////////////////////
//  以上内容直接硬编码存储到Flash中去,占用内存为0,内存中的数据结构如下:

struct CurrentMenuItems{             //当前处理的菜单项
  unsigned char CurIndex;
  const struct MenuItems* MenuItems;
};


但本人对效率一贯苛求,觉得占用还是有点大,现在正在研究更加高效的占用Flash和RAM小的结构写法。

出0入0汤圆

发表于 2010-5-10 23:19:46 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-5-11 16:09:13 | 显示全部楼层
谢谢,

出0入0汤圆

发表于 2010-5-11 17:02:31 | 显示全部楼层
mark学习了

出0入0汤圆

发表于 2010-5-11 18:54:51 | 显示全部楼层
mark ,下不下来,回去再看

出0入0汤圆

发表于 2010-6-28 12:23:31 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-6-28 12:34:54 | 显示全部楼层
有高手开始在讨论了

出0入0汤圆

发表于 2010-6-28 13:55:09 | 显示全部楼层
不错

出0入0汤圆

发表于 2010-7-11 14:23:38 | 显示全部楼层
学习了,不错

出0入0汤圆

发表于 2010-7-11 15:21:26 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-7-13 11:33:32 | 显示全部楼层
为什么下载了看不了?

出0入9汤圆

发表于 2010-7-13 12:58:13 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-7-13 14:09:52 | 显示全部楼层
文件好像挂掉了,下载后打不开了!!
有没有兄弟有,重新上传一下,谢谢了!!

出0入0汤圆

发表于 2010-10-26 11:41:20 | 显示全部楼层
Gorgon Meducer 傻孩子大侠 :
    我一直在琢磨你写的菜单结构,看你用的是结构体,里面把数据和处理数据的函数放在一个结构体里面,我百看也不能理解是怎么实现的? 这个好像是面向对象的程序设计了吧!? 可是我没有学过C++, 对面向对象的程序设计方法不理解? 你能不能详细的指导指导我们一下啊!?不胜感激!!!!!!!!!!!

出0入0汤圆

发表于 2010-10-26 12:04:06 | 显示全部楼层
感谢楼主和傻孩子的贡献

出0入0汤圆

发表于 2010-10-26 12:12:03 | 显示全部楼层
MARK GUI

出0入0汤圆

发表于 2010-10-26 12:28:01 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-10-29 17:14:36 | 显示全部楼层
回复【52楼】takashiki 岚月影
菜单从本质上来说,只不过是一个链表。但是这个链表的写法可能千变万化。
本人曾经设想如下:
1)使用三个链表,一个表示菜单项,一个表示下拉的一组菜单,这两个都存储到flash中去。另一个则是真正占用内存的,通过一个指针访问flash中的菜单项。
-----------------------------------------------------------------------

最近我也有研究菜单的问题

发现许多程序都要外加RAM(对于我要移植到51来说)

我想了几天

如果不适用结构体操作的话

只能使用

switch ()语句进行菜单深度,和相关函数的调用

出0入0汤圆

发表于 2010-10-29 18:44:25 | 显示全部楼层
看看

出0入4汤圆

发表于 2010-10-29 19:29:47 | 显示全部楼层
记号

出0入0汤圆

发表于 2010-10-29 19:37:46 | 显示全部楼层
马克

出0入0汤圆

发表于 2010-11-14 17:16:56 | 显示全部楼层
Gorgon Meducer 傻孩子:
        傻孩子大侠,我很高兴把你的菜单结构弄懂了,非常非常的感谢你无私的帮助!是你让我从无知到有知!从迷惘到开明,再次表示衷心的感谢!
        但是我碰到的一个问题是:我想实现一个3、4级或者更多级的菜单,不知道该怎么写!这个问题困扰了我很久也没办法解决!穷途之中再次想起了你!尽管很不好意思打扰大侠!不知道大侠能不能再在百忙之中抽出一点指点一二呀!多多感谢!!!!

出0入0汤圆

发表于 2010-11-15 15:48:02 | 显示全部楼层
Gorgon Meducer 傻孩子:
       大侠这么快就回复我了, 真是太感谢了,其实我也知道你菜单的意思了,多级的话就是再增加几个菜单结构型数组,也就是把这个链表作长一点 但是我我感觉那样的话,内存用起来就很可观了,然后我又仔细看了《一个占用内存极小的菜单实现》的那个例子,他用查索引号找对应的函数的方法,这样的话, 内存是少了, 但是改动就又很大。更何况我只是能看懂两位大侠的意思,照搬还可以,要我自己想又想不出好的办法来解决这个问题, 再三厚着脸皮来了,不知道大侠还能指点一二么?多多谢谢!!!

出0入0汤圆

发表于 2010-11-15 22:18:47 | 显示全部楼层
马克...

出0入0汤圆

发表于 2010-11-30 11:56:52 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-12-3 21:39:37 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-15 13:33:28 | 显示全部楼层
顶。这要做这方面的东西

出0入0汤圆

发表于 2011-4-15 13:34:39 | 显示全部楼层
怎么不能下载文件啊。

出0入0汤圆

发表于 2011-4-21 17:36:52 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-4-21 17:44:59 | 显示全部楼层
顶一个

出0入0汤圆

发表于 2011-5-5 10:18:11 | 显示全部楼层
很直观。

出0入0汤圆

发表于 2011-5-13 10:14:39 | 显示全部楼层
看看

出0入0汤圆

发表于 2011-5-13 16:01:00 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-5-13 16:28:07 | 显示全部楼层
頂下!

出0入0汤圆

发表于 2011-5-13 17:00:29 | 显示全部楼层
这个给力。多谢共享!!!

出95入100汤圆

发表于 2011-5-13 17:08:24 | 显示全部楼层
mark  傻孩子菜单引擎

出0入0汤圆

发表于 2011-7-18 17:02:49 | 显示全部楼层
mark
菜单实现
ppt

出0入131汤圆

发表于 2011-7-18 18:01:39 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-18 18:08:03 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-18 18:33:16 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-18 18:34:53 | 显示全部楼层
这个一定要顶

出0入0汤圆

发表于 2011-7-31 13:38:21 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-31 13:49:52 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-31 17:33:10 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-8-16 19:29:53 | 显示全部楼层
mark!!

出0入0汤圆

发表于 2011-8-16 20:03:54 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-8-16 20:25:22 | 显示全部楼层
好的很啊

出0入17汤圆

发表于 2011-8-16 20:40:34 | 显示全部楼层
傻孩子现在已经毕业了吧,最近在搞些什么东西~
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-28 16:53

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表