|
楼主 |
发表于 2007-9-6 08:20:03
|
显示全部楼层
35楼】 adongliu
一个问题,这个菜单的实现是没有问题,但具体的参数更改怎么实现,例如:有一个参数的范围是0-255,使用+ - 键修改,怎么实现?????期待中........
猜测你说的问题是动态生成条项的部分代码,也猜测你还没有认真读完文档,既然是动态生成条项菜单,那么就跟具体应用有关,应当由具体函数来实现MaxDynamicItem 的赋值。
当然也包括后面初始化动态内容部分、以及Left Right函数的内容修改部分了。因为需要显示的内容由你的函数决定的。
// do{
// MaxDynamicItem = InputNum(4,4,9);//要求输入一个动态菜单的值,我们根据这个值生成菜单
MaxDynamicItem = 8;
// if(MaxDynamicItem == 0xFF){//退出
// Jump2Menu(SelfMenuIndex,FlashMode_AutoInit);
// // ReFlash = true;
// return;
// }
// }while(MaxDynamicItem ==0x00);//大于0才有效
// GUI_Clear();
上面代码中是期望能通过键盘以函数InputNum得到一个动态值,然后代码根据该值生成要求的条项菜单,这是验证代码,后期移植时,我把问题简单成:编译时人工设定一个值 MaxDynamicItem = 8; 你修改这个值,那么编译后是8个条项,而修改成其它,就是其它的值咯。明白否?
以短信收件箱为例,短信收件箱里面以短信发送人的名字作为条项显示的,而有多少条项就是根据收件箱里面有多少条短信了。既然短信是可以收到(也就是增加了条项项数),也可以删除(减少项数),而且收到的短信的发送人不是编写代码时就知道的(但可以通过函数调用动态得知)。因此这就是要求动态生成条项的。
而动态生成条项的概念是相对于通常那些菜单是编写代码时就知道内容的菜单而言的。之中差异你们慢慢体会。
程序中几乎所有的参数都在Menu.C Menu.H CPU.H中,如果你确实用到这份代码,那么多看看代码,在硬件上试试,也就知道怎么用了,如果只是看代码的看,那么难于体会这些参数具体意义--何况有的参数跟具体硬件有关,是移植者要替代实现的。具体问题具体讨论,到时可以再有问题可以Email讨论。 |
|