airwolf09921 发表于 2010-4-27 22:09:39

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

读傻孩子的一个菜单引擎,然后做了一个ppt,希望能对像我这样对菜单不太了解的朋友有个帮助,更欢迎大家批评指出其中的错误。谢谢!
由于论坛原因,大家把下载文件后缀改为.ppt才能看!
http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_549777.jpg
(原文件名:1.jpg)

http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_549778.jpg
(原文件名:2.jpg)



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

Gorgon_Meducer 发表于 2010-4-27 22:11:36

顶~~~~~~~~~~~

airwolf09921 发表于 2010-4-27 22:19:40

回复【1楼】Gorgon Meducer 傻孩子
-----------------------------------------------------------------------

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

cgbabc 发表于 2010-4-27 22:23:12

顶一个

tear086 发表于 2010-4-27 22:26:39

收藏,谢谢楼主哥,谢谢傻孩子。

smartzou 发表于 2010-4-27 22:37:31

支持一下~~嘿嘿

sky_walker 发表于 2010-4-27 22:37:43

收藏,谢谢

Gorgon_Meducer 发表于 2010-4-27 22:39:18

to 【2楼】 airwolf09921
    看了,内容太好了~8措~
    不过最好补充一点函数指针的例子。

benladn911 发表于 2010-4-27 22:46:03

哈哈~ 顶~!

bynce 发表于 2010-4-27 22:49:13

做的不错。哈哈!

AIHHLI 发表于 2010-4-27 22:56:49

PPT做的很好.
另:把后缀名改为 .pps,双击就可以直接播放了.

eduhf_123 发表于 2010-4-27 22:57:23

MARK GUI

1181zjf 发表于 2010-4-27 23:10:23

mark

bynce 发表于 2010-4-27 23:20:45

主程序在哪里呀 ?哈哈!!!

airwolf09921 发表于 2010-4-27 23:28:09

回复【13楼】bynce 罗曼
-----------------------------------------------------------------------

点击这里就可以看到主程序了!
http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_549789.jpg
(原文件名:3.jpg)

watch1030 发表于 2010-4-27 23:30:49

收藏

yunqian09 发表于 2010-4-27 23:39:00

收藏。。。

X_BIKE 发表于 2010-4-27 23:50:29

顶,要好好做菜单啊!

lv998127 发表于 2010-4-28 00:42:11

记号!

snail0204 发表于 2010-4-28 08:30:46

不错

abcdezh 发表于 2010-4-28 08:51:33

谢谢

cyxavr 发表于 2010-4-28 08:54:37

PPT,做得不错。

Forever 发表于 2010-4-28 08:59:13

不错

osky 发表于 2010-4-28 09:11:21

yes

mimanging 发表于 2010-4-30 20:27:29

为什么下载了看不了?

liuliuset 发表于 2010-4-30 20:46:52

回复【4楼】tear086 .COM 缺氧
收藏,谢谢楼主哥,谢谢傻孩子。
-----------------------------------------------------------------------

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

cyr_hongfeng 发表于 2010-4-30 22:51:12

有意思,我以前也移植过,个人感觉把代码打印出来看看也就懂了,不难

cyr_hongfeng 发表于 2010-4-30 22:52:22

顺便说一下哦,背景色改成白色的是不是更好

airwolf09921 发表于 2010-4-30 23:53:10

回复【27楼】cyr_hongfeng
顺便说一下哦,背景色改成白色的是不是更好
-----------------------------------------------------------------------

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

firegl99 发表于 2010-5-1 00:27:48

顶楼主,mark

bad_fpga 发表于 2010-5-1 00:32:35

MARK

caozhu 发表于 2010-5-1 02:07:28

标记呵呵

tangfree 发表于 2010-5-1 07:54:17

真好呀

benlippen 发表于 2010-5-1 09:47:59

PPT,做得不错,,

benlippen 发表于 2010-5-1 09:49:30

PPT,做得不错,,

oldmen 发表于 2010-5-1 10:09:33

记号

psl_87 发表于 2010-5-1 10:29:12

捷径啊这是,mark

longquan 发表于 2010-5-1 12:08:00

ding

gdourf 发表于 2010-5-5 11:18:03

mark

ITOP 发表于 2010-5-5 11:24:14

真不错,MARK!!

ITOP 发表于 2010-5-5 11:26:55

文件好像挂掉了,下载后打不开了!!
有没有兄弟有,重新上传一下,谢谢了!!

zqy517 发表于 2010-5-5 11:32:01

该后缀名.PDF为.PPT即可!

ITOP 发表于 2010-5-5 11:41:54

倒!!谢谢楼上,OK了!!

super373 发表于 2010-5-5 22:27:11

这个绝对要顶一下!
楼主辛苦了!

yahooxiaozi 发表于 2010-5-5 22:40:46

mark

cat_li 发表于 2010-5-5 23:18:18

看了一下,很不错

zjr0411 发表于 2010-5-6 00:22:10

谢谢

_ken_ 发表于 2010-5-6 08:42:15

顶一个

undeadhuman 发表于 2010-5-6 08:58:56

棒极了,呵呵。

cat_li 发表于 2010-5-6 09:23:25

希望楼主在完善一下,对结构体链表看的不是很明白

YL_L 发表于 2010-5-6 09:37:43

顶!

takashiki 发表于 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都较少的菜单方案,现在还在构思中,但绝对排除上面这种写法,该写法对与菜单项的状态(比如单选、复选等等)没有指示,增加的话则以消耗内存为代价。

takashiki 发表于 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小的结构写法。

SeaBear 发表于 2010-5-10 23:19:46

mark

jackmo 发表于 2010-5-11 16:09:13

谢谢,

yusufu 发表于 2010-5-11 17:02:31

mark学习了

xinyou 发表于 2010-5-11 18:54:51

mark ,下不下来,回去再看

3g465 发表于 2010-6-28 12:23:31

mark

maidilong 发表于 2010-6-28 12:34:54

有高手开始在讨论了

ba_wang_mao 发表于 2010-6-28 13:55:09

不错

laodaok 发表于 2010-7-11 14:23:38

学习了,不错

benlippen 发表于 2010-7-11 15:21:26

mark

roberzhao 发表于 2010-7-13 11:33:32

为什么下载了看不了?

liangyurongde 发表于 2010-7-13 12:58:13

mark

roberzhao 发表于 2010-7-13 14:09:52

文件好像挂掉了,下载后打不开了!!
有没有兄弟有,重新上传一下,谢谢了!!

liaogang1314 发表于 2010-10-26 11:41:20

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

lningbd 发表于 2010-10-26 12:04:06

感谢楼主和傻孩子的贡献

steven_sd 发表于 2010-10-26 12:12:03

MARK GUI

liumaojun_cn 发表于 2010-10-26 12:28:01

mark

format 发表于 2010-10-29 17:14:36

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

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

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

我想了几天

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

只能使用

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

QQ373466062 发表于 2010-10-29 18:44:25

看看

xaofen 发表于 2010-10-29 19:29:47

记号

cqwshll 发表于 2010-10-29 19:37:46

马克

liaogang1314 发表于 2010-11-14 17:16:56

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

liaogang1314 发表于 2010-11-15 15:48:02

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

MA_J 发表于 2010-11-15 22:18:47

马克...

Gloriousle 发表于 2010-11-30 11:56:52

mark

AG17 发表于 2010-12-3 21:39:37

mark

pei84 发表于 2011-4-15 13:33:28

顶。这要做这方面的东西

pei84 发表于 2011-4-15 13:34:39

怎么不能下载文件啊。

haydon123 发表于 2011-4-21 17:36:52

MARK

trucy 发表于 2011-4-21 17:44:59

顶一个

cardinal_2010 发表于 2011-5-5 10:18:11

很直观。

cumtgao 发表于 2011-5-13 10:14:39

看看

yaya001 发表于 2011-5-13 16:01:00

mark

gmolzc 发表于 2011-5-13 16:28:07

頂下!

plc_avr 发表于 2011-5-13 17:00:29

这个给力。多谢共享!!!

lhj200304 发表于 2011-5-13 17:08:24

mark傻孩子菜单引擎

xlb1833 发表于 2011-7-18 17:02:49

mark
菜单实现
ppt

asj1989 发表于 2011-7-18 18:01:39

mark

tyqhaha 发表于 2011-7-18 18:08:03

mark

avr-job 发表于 2011-7-18 18:33:16

mark

stely 发表于 2011-7-18 18:34:53

这个一定要顶

Joyliz 发表于 2011-7-31 13:38:21

mark

luck851 发表于 2011-7-31 13:49:52

mark

eastbest 发表于 2011-7-31 17:33:10

mark

liwboy 发表于 2011-8-16 19:29:53

mark!!

cgbabc 发表于 2011-8-16 20:03:54

mark

abcdzhy 发表于 2011-8-16 20:25:22

好的很啊

llysc 发表于 2011-8-16 20:40:34

傻孩子现在已经毕业了吧,最近在搞些什么东西~
页: [1] 2 3
查看完整版本: 最近读傻孩子的菜单程序,做了一个PPT,希望大家批评指正!