[求助]希望哪位大神能详细解释下基于结构体的那个菜单。

2020-01-20 19:05发布

如题,看了傻孩子的,网上也找了一些,还是看不明白,原谅我这么菜,我找到的程序都没什么注释,说实话真的看不懂,越看越绕,越迷糊。。在此希望哪位大神能给来一个详细的解答。。。拜谢!!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
18条回答
68336016
2020-01-21 20:53
lswhome 发表于 2014-5-28 22:17
是的,这个死等就能达到要求哇。。。
不要死等的也可以,就是里面没有WHILE,类似扫描键盘那种,高速扫描 ...

我就是仿造傻孩子的那种结构体菜单的

MenuItem SpeedSelectMenu[SPEEDSELECT_MENUCOUNT] =
{        //MenuCount,ParentIndex,MenuString,MenuFunc,SubMenu,ParentMenu
        {SPEEDSELECT_MENUCOUNT,0,"速度1=     RPM",Gui_SelectCoef_Ns1,NULL,MainMenu},
        {SPEEDSELECT_MENUCOUNT,0,"速度2=     RPM",Gui_SelectCoef_Ns2,NULL,MainMenu},
        {SPEEDSELECT_MENUCOUNT,0,"速度3=     RPM",Gui_SelectCoef_Ns3,NULL,MainMenu},
        {SPEEDSELECT_MENUCOUNT,0,"速度4=     RPM",Gui_SelectCoef_Ns4,NULL,MainMenu},
};

平时菜单翻滚,进入,退出通过一个函数A来刷新,这函数A在main的主循环调用
如果进入到了菜单函数B,那么就那么通过修改函数指针pGuiFunction,把main主循环里的函数改成函数B
这样主循环就不会堵死,其它事情也能得到处理。

虽然看起来比较龌龊,但是没有其它更好思路前,我这么用也没出什么问题

main()
{
        while(1)
        {
                (*pGuiFunction)();
                其他一些函数();
        }
}

一周热门 更多>