#define CONST const
struct MENUITEM;
struct MENUITEMS;
typedef struct MENUITEM MenuItem;
typedef struct MENUITEMS MenuItems;
typedef void(*MenuProc)(void);
struct MENUITEM {
unsigned char* Text;
MenuProc lpProc;
MenuItems Items;
};
struct MENUITEMS {
unsigned char Level, Count;
MenuItems* Parent;
MenuItem** Items;
};
struct CurMenuItem {
unsigned char Path[LEVEL];
MenuItems* Items;
};
//
extern CONST MenuItems mmi_0;
extern CONST MenuItems mmi_0_0;
extern CONST MenuItems mmi_0_1;
extern CONST MenuItems mmi_0_2;
CONST mmi_0_0_Item[] = {
{"key12", 12, NULL},
};
CONST mmi_0_1_Item[] = {
{"key22", 22, NULL},
{"key21", 21, NULL},
};
CONST mmi_0_2_Item[] = {
{"key32", 32, NULL},
{"key31", 31, NULL},
};
CONST mmi_0_Item[] = {
{"key1", 1, &mmi_0_0},
{"key2", 2, &mmi_0_1},
{"key3", 3, &mmi_0_2},
};
CONST MenuItems mmi_0 = {0, 3, NULL, &mmi_0_Item};
CONST MenuItems mmi_0_0 = {1, 1, &mmi_0, &mmi_0_0_Item};
CONST MenuItems mmi_0_1 = {1, 2, &mmi_0, &mmi_0_1_Item};
CONST MenuItems mmi_0_2 = {1, 2, &mmi_0, &mmi_0_2_Item};
struct MENUITEM;
struct MENUITEMS;
typedef struct MENUITEM MenuItem;
typedef struct MENUITEMS MenuItems;
typedef void(*MenuProc)(void);
struct MENUITEM {
unsigned char* Text;
MenuProc lpProc;
MenuItems Items;
};
struct MENUITEMS {
unsigned char Level, Count;
MenuItems* Parent;
MenuItem** Items;
};
struct CurMenuItem {
unsigned char Path[LEVEL];
MenuItems* Items;
};
//
extern CONST MenuItems mmi_0;
extern CONST MenuItems mmi_0_0;
extern CONST MenuItems mmi_0_1;
extern CONST MenuItems mmi_0_2;
CONST mmi_0_0_Item[] = {
{"key12", 12, NULL},
};
CONST mmi_0_1_Item[] = {
{"key22", 22, NULL},
{"key21", 21, NULL},
};
CONST mmi_0_2_Item[] = {
{"key32", 32, NULL},
{"key31", 31, NULL},
};
CONST mmi_0_Item[] = {
{"key1", 1, &mmi_0_0},
{"key2", 2, &mmi_0_1},
{"key3", 3, &mmi_0_2},
};
CONST MenuItems mmi_0 = {0, 3, NULL, &mmi_0_Item};
CONST MenuItems mmi_0_0 = {1, 1, &mmi_0, &mmi_0_0_Item};
CONST MenuItems mmi_0_1 = {1, 2, &mmi_0, &mmi_0_1_Item};
CONST MenuItems mmi_0_2 = {1, 2, &mmi_0, &mmi_0_2_Item};