📄 menuteat.c~
字号:
typedef struct menu_struct
{
unsigned int flash id;
unsigned int flash ok;
unsigned int flash esc;
unsigned int flash up;
unsigned int flash down;
unsigned char flash *Name;
void (*CurrentOperate)();
}MENU;
//主菜单
char flash str1[]="PdN00dbn";
char flash str2[]="PUP00dbn";
char flash str3[]="FSL ";
char flash str4[]="Att ";
char flash str5[]="dAC ";
char flash str6[]="SEtup ";
//子菜单1
char flash str31[]="F1 001";
char flash str32[]="F2 002";
char flash str33[]="F3 003";
char flash str34[]="F4 004";
char flash str35[]="F5 005";
char flash str36[]="F6 006";
char flash str37[]="F7 007";
char flash str38[]="F8 008";
//子菜单2
char flash str41[]="Att100db";
char flash str42[]="Att200db";
char flash str43[]="Att300db";
char flash str44[]="Att400db";
char flash str45[]="dAtt00db";
char flash str46[]="uAtt00db";
//子菜单5
char flash str51[]="dAC1 001";
char flash str52[]="dAC2 002";
char flash str53[]="dAC3 003";
char flash str54[]="dAC4 004";
void MENU_adjust(void);
MENU nemu[]={
/*id, ok, esc, up, down, name, do */
{1, 999, 999, 999, 2, str1, MENU_adjust},
{2, 999, 999, 1, 3, str2, MENU_adjust},
{3, 31, 999, 2, 4, str3, MENU_adjust},
{4, 41, 999, 3, 5, str4, MENU_adjust},
{5, 51, 999, 4, 999, str5, MENU_adjust},
/*{11, 999, 1, 999, 12, str11, MENU_adjust},
{12, 999, 1, 11, 13, str12, MENU_adjust},
{13, 999, 1, 12, 14, str13, MENU_adjust},
{14, 999, 1, 13, 999, str14, MENU_adjust},
{21, 999, 2, 999, 22, str21, MENU_adjust},
{22, 999, 2, 21, 23, str22, MENU_adjust},
{23, 999, 2, 22, 24, str23, MENU_adjust},
{24, 999, 2, 23, 999, str24, MENU_adjust},
*/
{31, 999, 3, 999, 32, str31, MENU_adjust},
{32, 999, 3, 31, 33, str32, MENU_adjust},
{33, 999, 3, 32, 34, str33, MENU_adjust},
{34, 999, 3, 33, 35, str34, MENU_adjust},
{35, 999, 3, 34, 36, str35, MENU_adjust},
{36, 999, 3, 35, 37, str36, MENU_adjust},
{37, 999, 3, 36, 38, str37, MENU_adjust},
{38, 999, 3, 37, 999, str38, MENU_adjust},
{41, 999, 4, 999, 42, str41, MENU_adjust},
{42, 999, 4, 41, 43, str42, MENU_adjust},
{43, 999, 4, 42, 44, str43, MENU_adjust},
{44, 999, 4, 43, 45, str44, MENU_adjust},
{45, 999, 4, 44, 46, str45, MENU_adjust},
{46, 999, 4, 45, 999, str46, MENU_adjust},
{51, 999, 5, 999, 52, str51, MENU_adjust},
{52, 999, 5, 51, 53, str52, MENU_adjust},
{53, 999, 5, 52, 54, str53, MENU_adjust},
{54, 999, 5, 53, 999, str54, MENU_adjust}
};
MENU *menu_p;
#define KEY_UP 0x1
#define KEY_DOWN 0x2
#define KEY_ENTER 0x3
#define KEY_ESC 0x4
#define KEY_SUPER 0x5
void (*KeyFuncPtr)();
bit KEY_ADJUSTING;
void menu_select(unsigned char key)
{
switch (key)
{
case KEY_UP:
{
if(KEY_ADJUSTING)
{
KeyFuncPtr = menu_p->CurrentOperate;
(*KeyFuncPtr)();
}
else if(menu_p->up != 999)
{
menu_p = menu_p->up;
}
break;
}
case KEY_DOWN:
{
if(KEY_ADJUSTING)
{
KeyFuncPtr = menu_p->CurrentOperate;
(*KeyFuncPtr)();
}
else if(menu_p->down != 999)
{
menu_p = menu_p->down;
}
break;
}
case KEY_ENTER:
{
if(menu_p->ok == 999 && menu_p->esc == 999)
{
break;
}
else if(menu_p->ok != 999)
{
menu_p = menu_p->ok;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -