cyr_hongfeng 发表于 2009-9-13 21:43:17

请教傻孩子菜单代码问题,一个地方理解不了

菜单代码就是傻孩子发的常见的那个:

------------------------------------------
贴一段代码大家看看哈(我用来做目录的引擎)
(以上的是我在羚羊上实现的,但是原理是一样的,特别是Menu.h可以直接使用)

Menu.h
-------------------------------

#ifndef __MENU_h__
#define __MENU_h__
#include "Functions.h"
/****************************************************
* 支持库说明:提供了使用菜单的基本数据结构          *
* 作者:      傻孩子                              *
* 日期:      2005年6月9日                        *
****************************************************/

/**********************
*    目录结构体定义   *


。。。。。。。。。省略


case Esc:
    if (MenuPoint.ParentMenus != Null)
    {
      MenuPoint = MenuPoint.ParentMenus;
    UserChoose = 0;
    DisplayStart = 0;
    }
    break;

大部分程序我都看懂了,但是MenuPoint = MenuPoint.ParentMenus; 这一句我老是想不明白,

前面已经定义 struct MenuItem (*MenuPoint) = MainMenu; 按照我的理解MenuPoint应该是指向结构体的指针,

那么MenuPoint.ParentMenus;是什么意思呢? 想不明白

cyr_hongfeng 发表于 2009-9-14 15:16:06

大家帮帮忙吧

snoopyzz 发表于 2009-9-14 16:56:40

Parent
翻词典

cyr_hongfeng 发表于 2009-9-14 19:51:39

呵呵,楼上幽默,
我不明白指向结构体的指针MenuPoint,写成MenuPoint表示什么意思?

sleet1986 发表于 2009-9-25 09:51:55

MenuPoint.ParentMenus是MenuPoint的父菜单啊!也就是上一级菜单了

luhuaneda 发表于 2009-9-29 12:18:54

请问lz完整的代码在那里可以找到?

liaogang1314 发表于 2010-11-11 15:56:03

回复【楼主位】cyr_hongfeng
-----------------------------------------------------------------------

我告诉你吧 struct MenuItem (*MenuPoint)的意思是定义一个指向结构体数组的指针 要说明的是 它只能指向结构体的首地址 不能指向它的单个元素 这个定义是有点难理解!!!!!

liaogang1314 发表于 2010-11-11 16:01:32

回复【楼主位】cyr_hongfeng
-----------------------------------------------------------------------

再说的明白点:MenuPoint.ParentMenus;就是用指向结构体数组指针表示的一个元素。其实也不难理解,傻孩子大虾是个高手 他把指针用的很灵活 大家就不能理解了 呵呵!!!!!!!!!

liaogang1314 发表于 2010-11-14 17:15:55

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