📄 menu.h
字号:
#ifndef _MENU_H_
#define _MENU_H_
#include "api.h"
/*keil编译时,使用code
vxworks编译时,code改为空格*/
#define CODE_TYPE code
#define _ALS_ 0
typedef BYTE (*FUNCTION_TYPE)(BYTE FlashLcd);
/*菜单处理的数据结构*/
typedef struct MENU
{
FUNCTION_TYPE function;/*本级菜单的处理函数*/
struct MENU *son;/*指向下级菜单的结构指针,如果为最底级菜单,初始化为NULL*/
}MENU;
typedef struct MENU_INFO_STRUCT
{
char MenuPopReturnFlag; /*该标志为菜单弹出是否返回标志*/
char rebrushLcd; /*该变量为处理函数参数,标志是否刷新菜单*/
char menuBack;
void (*ptrScroll)( char ); /*滚动条显示函数.0:空格, 1:向上 2:向下*/
void (*ptrBackLight)( char* ); /*背光控制程序. 0:关背光, 1:打开背光*/
} MENU_INFO;
/*菜单处理宏定义*/
#define NOCHANGE_MENU 0/*无操作*/
#define NEXT_MENU 1/*enter*/
#define PREVIEW_MENU 2/*esc*/
#define RIGHT_MENU 3/*right/up */
#define LEFT_MENU 4/*left/down*/
#define KEEP_SCREEN 0/*屏幕保持,不刷新*/
#define FLASH_SCREEN 1/*屏幕刷新*/
/*菜单处理指针指向弹出菜单结构*/
#define MENU_POP_DONE 1
/*菜单处理指针指向主菜单处理结构函数*/
#define MENU_POP_NONE 0
#define MAX_FLOOR 7/*菜单最大级数*/
#define SCROL_FIRST_ROW_NULL 1
#define SCROL_FIRST_ROW_UP 2
#define SCROL_SECOND_ROW_NULL 3
#define SCROL_SECOND_ROW_DOWN 4
#define ROW_1 0
#define ROW_2 1
#define DISPLAY_ASTERISK 0x2a
#define LCD_MAX_CASE 16
#define LCD_LAST_CASE 16-1
#define LCD_PRINT_SPACE 0x20
#define LCD_PRINT_UP 0
#define LCD_PRINT_DOWN 2
#define BACK_LIGHT_SHOW 1
#define BACK_LIGHT_DESTROY 0
#define BACK_LIGHT_DONOTHING 3
void MenuProcess(void);
void menuPopUp( BYTE *pPopFunction );
void meunInit(MENU *pInitMenu, void *funcScroll, void *funcBackLight);
extern MENU_INFO menuInfo;
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -