📄 menu.h
字号:
#ifndef _MENU_H_
#define _MENU_H_
/*keil编译时,使用code
vxworks编译时,code改为空格*/
#define CODE_TYPE code
typedef char (*FUNCTION_TYPE)(char FlashLcd);
/*菜单处理宏定义*/
#define NOCHANGE_MENU 0/*有按键*/
#define NEXT_MENU 1/*下级菜单*/
#define PREVIEW_MENU 2/*上级菜单*/
#define RIGHT_MENU 3/*同级菜单的下一选项*/
#define LEFT_MENU 4/*同级菜单的上一选项*/
#define NOKEY_MENU 5/*没有按键*/
#define NEXT_MENU1 6/*下级菜单*/
#define NEXT_MENU2 7/*下级菜单*/
#define NEXT_MENU3 8/*下级菜单*/
#define NEXT_MENU4 9/*下级菜单*/
/*0xF0~0xFF保留给其它程序处理*/
#define KEEP_SCREEN 0/*屏幕保持,不刷新*/
#define FLASH_SCREEN 1/*屏幕刷新*/
/*菜单处理指针指向弹出菜单结构*/
#define MENU_POP_DONE 1
/*菜单处理指针指向主菜单处理结构函数*/
#define MENU_POP_NONE 0
#define MAX_FLOOR 10/*定义菜单的最大级数*/
/*菜单处理的数据结构*/
typedef struct MENU_STRUCT
{
FUNCTION_TYPE function;/*本级菜单的处理函数*/
// struct MENU *father;/*指向上级菜单的结构指针,如果为主菜单,初始化为NULL*/
struct MENU_STRUCT *son;/*指向下级菜单的结构指针,如果为最底级菜单,初始化为NULL*/
}MENU;
typedef struct MENU_INFO_STRUCT
{
char MenuPopReturnFlag; /*该标志为菜单弹出是否返回标志*/
char rebrushLcd; /*该变量为处理函数参数,标志是否刷新菜单*/
unsigned int holdTime; /*背光打开的时间。此值是一个计数器,在MenuProcess中加1*/
unsigned int returnTimer; /*背光延时定时器。为0关闭背光强制在主界面,非0打开背光*/
unsigned char floorCnt; /*记录所在层*/
MENU *Father[MAX_FLOOR];
void (*ptrScroll)(char); /*滚动条显示函数.0:空格, 1:向上 2:向下*/
void (*ptrBackLight)(char); /*背光控制程序. 0:关背光, 1:打开背光*/
} MENU_INFO;
extern void meunInit(MENU *pInitMenu, int holdTime, void *funcScroll, void *funcBackLight);
extern void MenuProcess(void);
extern void menuPopUp(MENU *ptr);
/***************弹出菜单***************/
extern const MENU CODE_TYPE menu8_main[];
void openLight();
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -