⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 newmenu.h

📁 本人编写的无线电话程序,给予PIC18C801设计,包括了uCOS的移植以及菜单,自己设计的拼音注入法,完整地一级汉字库,希望对大家有所帮助
💻 H
字号:
//Level 0
#define	MENU_ROOT			0
//Level 1
#define	MENU_REC			1
#define	MENU_SMS			2
#define	MENU_SET			3
//#define	MENU_NET		4
#define	MENU_BOOK_END		4		//Special(can enter it from many nodes,exit to the origin node)
#define	NUM_ROOT_SON		MENU_BOOK_END-MENU_REC+1
//Level 2
#define	MENU_REC_RCVNO		6		//the phone which not received
#define	MENU_REC_RCVED		7		//the phone which received
#define	MENU_REC_XMT		8		//the phone which called
#define	MENU_REC_BILL		9
#define	NUM_REC_SON			MENU_REC_BILL-MENU_REC_RCVNO+1

#define	MENU_SMS_RDRCV		10		//read the SMS received
#define	MENU_SMS_RDXMT		11		//read the SMS sent out
#define	MENU_SMS_WR			12		//write the SMS
#define	MENU_SMS_SET		13		//set the SMS option
#define	NUM_SMS_SON			MENU_SMS_SET-MENU_SMS_RDRCV+1

#define	MENU_SET_RATE		14		//look up the bill rate
#define	MENU_SET_LOCAL		15		//set the current phone number	
#define	MENU_SET_RING		16		//set the tone of the ring
#define	MENU_SET_LIGHT		17		//set the light of background (ON/OFF)
#define	NUM_SET_SON			MENU_SET_LIGHT-MENU_SET_RATE+1








#define	MENU_NET_MDM		18		//end	//set the phone to MODEM mode
#define	MENU_NET_DBG		19		//end	//set the phone to DEBUG mode
#define	MENU_NET_MON		20		//end	//set the phone to MONITOR mode
//Level 3
#define	MENU_REC_RCVNO_END		21
#define	MENU_REC_RCVED_END		22
#define	MENU_REC_XMT_END		23
#define	MENU_REC_BILL_NUM		24	//not end
#define	MENU_SMS_RDRCV_NUM		25	//not end
#define	MENU_SMS_RDXMT_NUM		26	//not end
#define	MENU_SMS_WR_TXT			27	//not end,focus on TEXT

#define	MENU_SMS_SET_CENTER		28	//not end
#define	MENU_SMS_SET_LIFE		29	//not end
#define	MENU_SMS_SET_REPORT		30	//not end
#define	NUM_SMS_SET_SON			MENU_SMS_SET_REPORT-MENU_SMS_SET_CENTER+1

#define	MENU_SET_RATE_END		31
#define	MENU_SET_LOCAL_END		32
#define	MENU_SET_RING_END		33
#define	MENU_SET_LIGHT_END		34
//Level 4
#define	MENU_REC_BILL_NUM_END	35
#define	MENU_SMS_RDRCV_NUM_END	36
#define	MENU_SMS_RDXMT_NUM_END	37
#define	MENU_SMS_WR_TXT_EDIT	38	//focus on each Character,PinYin/WuBi
#define	MENU_SMS_WR_TXT_SEND	39	//ready to send,inputing phone number
#define	MENU_SMS_SET_CENTER_END	40
#define	MENU_SMS_SET_LIFE_END	41
#define	MENU_SMS_SET_REPORT_END	42

//Maximin number of node
#define	MENU_MAX_NODE			48

#define	MENU_KEY_SEL		0
#define	MENU_KEY_CAN		1
#define	MENU_KEY_BLK		2
#define	MENU_KEY_READ		3
#define	MENU_KEY_SEND		4		//send short message
#define	MENU_KEY_OK			5
#define	MENU_KEY_SAVE		6
#define	MENU_KEY_DEL		7
#define	MENU_KEY_SDBK		8
#define	MENU_KEY_CLBK		9
#define	MENU_KEY_EDIT		10		//edit short message
#define	MENU_KEY_BKSP		11		//used when editing text
#define	MENU_KEY_MDF		12		//Modify the phone number/name in book
#define MENU_KEY_WAITING	13

#define	MENU_KEY_FUN		16
#define	MENU_KEY_BOOK		17
#define	MENU_KEY_UP			18
#define	MENU_KEY_DOWN		19


#define	MENU_ATT_VAR		1		//the displayed content is different every time
#define	MENU_ATT_FIX		0		//the content is fixed after the initialization


#define PINYIN				0x00
#define ENGLISH				0x01
#define SYMBOL				0x02
#define LOWER_CASE			0x00
#define UPPER_CASE			0x01

#define TIMER_ENGLISH_INPUT_ID	0x0035
#define TIMER_ENGLISH_INPUT_VAL	100

#define MAX_DISP_HANZI_SEL		8


#define NODE_1OF1		0x10
#define NODE_1OF2		0x20
#define NODE_2OF2		0x21
#define NODE_1OF3		0x30
#define NODE_2OF3		0x31
#define NODE_3OF3		0x32
#define NODE_1OF4		0x40
#define NODE_2OF4		0x41
#define NODE_3OF4		0x42
#define NODE_4OF4		0x43


typedef rom struct{
	INT8U node_level;
	INT8U node_num;				//the node number of current level
	INT8U node_sn;				//the sequence number of current level
	INT8U fun_left;				//the left function key
	INT8U fun_right;			//the right function key
	INT8U prev_node;			//the node of the higher level
	INT8U next_node;			//the node of the lower level
	INT8U attr;					//attribute of node(TOP,MIDDLE,BOTTOM;FIX or VAR)
	INT8U len1;
	rom INT8U *pline1;
	rom INT8U *pbmp;			//point to the picture of FIX menu
}MENU_NODE;


#define MENU_SELF		0xFF

//软键定义
#define	SOFT_BLANK		0x00
#define	SOFT_FUN		0x01
#define	SOFT_BOOK		0x02


#define	MENU_SELF		0xFF
#define	MENU_NEXT		0xFE
#define	MENU_PREV		0xFD
#define	MENU_SON		0xFC
#define	MENU_FATHER		0xFB
#define	MENU_DEFAULT	0xFA


#define SELF_NODE		0xFF
#define NEXT_NODE		0xFE
#define PREV_NODE		0xFD
#define SON_NODE		0xFC
#define FATHER_NODE		0xFB


#define		ATT_CAP		0x01
#define		ATT_PIC		0x02
#define		ATT_TXT		0x03
#define		ATT_NUM		0x04
#define		ATT_BOK		0x05
#define		ATT_SMS		0x06
#define		ATT_REC		0x07


typedef rom struct{
	rom INT8U *pKeyIcon;
	rom INT8U (*pRun)(void);
}SOFTKEY;

typedef rom struct{
	INT8U		Level
	INT8U		SonNum;			//The number of son-nodes
	INT8U		SonAtt;			//The attribute of son-nodes		//Text or Picture
	INT8U		Father;
	INT8U		Son;
	rom INT8U 	*pCap;
	INT8U		LeftKey;
	INT8U		RightKey;
}MENU_NODE2;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -