- 积分
- 145
- 在线时间
- 679 小时
- 最后登录
- 2025-4-8
- 阅读权限
- 50
- 精华
- 0
 
- UID
- 178602
- 帖子
- 452
- 精华
- 0
- 经验
- 145 点
- 金钱
- 109 ¥
- 注册时间
- 2010-3-5
|
314613767 发表于 2014-3-1 21:13 
我知道了你的想法。就比如:我的2级菜单有三个选项,当切换的时候就调用当前的兄弟菜单,就相当说整个屏都 ...
struct menu_item
{
u8 menu_num;//当前层节点数
u8 *menu_string;//当前节点显示文字
struct menu_item *menu_children; //子节点
void(*menu_sub)(); //节点函数
};
struct menu_item main_menu[5];
struct menu_item set_menu[4];
struct menu_item display_set_menu[2];
struct menu_item time_set_menu[3];
struct menu_item alarm_set_menu[5];
struct menu_item main_menu[5]=//一级菜单
{
{5,"1.Line_1 ",NULL,_switch_line_1},
{5,"2.Line_2 ",NULL,_switch_line_2},
{5,"3.Radio ",NULL,_switch_radio},
{5,"4.Set ",set_menu,NULL_sub},
{5,"5.Exit ",main_menu,_set_menu}, //退出菜单
};
struct menu_item set_menu[4]=//二级菜单
{
{4,"1.Set Disp ",display_set_menu,NULL_sub},
{4,"2.Set Time ",time_set_menu,NULL_sub},
{4,"3.Set Alarm",alarm_set_menu,NULL_sub},
{4,"4.Back ",main_menu,NULL_sub},
};
struct menu_item display_set_menu[2]=//三级菜单
{
{2,"1.FFT Time ",NULL,_set_display_fft_time},
{2,"2.Back ",set_menu,NULL_sub},
};
struct menu_item time_set_menu[3]=//三级菜单
{
{3,"1.Set Date ",NULL,_set_date},
{3,"2.Set Time ",NULL,_set_time},
{3,"3.Back ",set_menu,NULL_sub},
};
struct menu_item alarm_set_menu[5]=//三级菜单
{
{5,"1.Alarm 1 ",NULL,_set_alarm_1},
{5,"2.Alarm 2 ",NULL,_set_alarm_2},
{5,"3.Alarm 3 ",NULL,_set_alarm_3},
{5,"4.Auto Off ",NULL,_set_auto_off},
{5,"5.Back ",set_menu,NULL_sub},
};
struct menu_item (*menu_point) = main_menu;//结构体指针
void NULL_sub(void)
{}
/*****************************************************************************************
******************************************************************************************/
void disp_menu(void)
{
u8 i,m,fan_bai=0;
max_menu_item_num=menu_point[0].menu_num; //同层最大菜单数
if(max_menu_item_num<max_show_menu_item_num) //当前层菜单数小于可显示最大菜单数
{
m=max_menu_item_num;
}
else //当前层菜单数大于等于可显示最大菜单数
{
m=max_show_menu_item_num;
}
for(i=0;i<m;i++)
{
if(i==choose_menu_item)
fan_bai=1;
else fan_bai=0;
putstring0508(0,i*8,menu_point[first_menu_item+i].menu_string,fan_bai);
}
}这个是我以前的菜单的 |
|