#include "menu.h"
//菜单资源头文件
#include "menu_res.h"
//外部显示库函数
#include "lcm.h"
/*
名称:C语言两级菜单(对于大内存可扩展N级菜单)V1.0
作者:中国传惠 Transmart gongxd@126.com
单位:山东科技大学
时间:2009-3-4
编译环境:
IDE-Version:
uVision3 V3.33
Copyright (c) Keil Elektronik GmbH / Keil Software, Inc 2006
License Information:
gongxd 微软用户
微软中国
LIC=BU373-A1HZU-EZJW0-DRWR6-C682M-E9HMS
Tool Version Numbers:
工具链路径:C:\Keil\C51\BIN\
C Compiler: C51.Exe V8.05a
Assembler: A51.Exe
Linker/Locator: BL51.Exe V6.00
Librarian: LIB51.Exe V4.24
Hex Converter: OH51.Exe V2.6
CPU DLL: S8051.DLL V3.06
Dialog DLL: DP51.DLL V2.48b
Target DLL: C:\KEIL\VW_C.DLL
Dialog DLL: TP51.DLL V2.48b
使用说明:
1.向"menu_res.h"中添加菜单列表
2.向 "Menu_Function.h"中添加菜单响应函数声明
3.在"lcm.h"中替换自己的外部显示库函数,可以用类似的宏定义#define DisplayFunction(int,int) MyDisplayFunction(int,int)
其中"lcm.h"的X,Y坐标起始定义为0,0
(0,0)X------>
Y
|
|
\|/
*/
#include "Menu_Function.h"
//菜单条目格式
//{要显示的的菜单文本,子菜单号,功能函数地址)
MenuItemStruct code MenuMain[]={
{"主1 条目1",1,Null},
{"主1 条目2",2,Null},
{"主1 条目3",3,Null},
{"功能函数1",MenuHasFunction,MenuFuntion1},
{"主1 条目5",0,Null},
};
MenuItemStruct code MenuSub1[]={
{"次1 条目1",0,Null},
{"次1 条目2",0,Null},
{"功能函数2",MenuHasFunction,MenuFuntion2},
{"次1 条目4",0,Null},
{"次1 条目5",0,Null},
{"次1 条目6",0,Null},
};
MenuItemStruct code MenuSub2[]={
{"次2 条目1",0,Null},
{"次2 条目2",0,Null},
{"次2 条目3",0,Null},
};
MenuItemStruct code MenuSub3[]={
{"次3 条目1",0,Null},
{"次3 条目2",0,Null},
{"次3 条目3",0,Null},
{"次3 条目4",0,Null},
{"次3 条目5",0,Null},
{"次3 条目6",0,Null},
{"次3 条目7",0,Null},
{"次3 条目8",0,Null},
{"次3 条目9",0,Null},
};
//菜单板列表
MenuPanelStruct code MenuPanel[]={
{MenuPanelID(MenuMain)},
{MenuPanelID(MenuSub1)},
{MenuPanelID(MenuSub2)},
{MenuPanelID(MenuSub3)},
};