www.pudn.com > ZLG_GUI_spilcd.zip > menu.h, change:2014-10-25,size:5866b


/**************************************************************************************** 
* 文件名:MENU.H 
* 功能:菜单显示及操作,头文件。 
* 作者: 
* 日期: 
* 备注: 
****************************************************************************************/ 
#ifndef  MENU_H 
#define  MENU_H 
 
 
/* 定义主菜单宽度,及最大菜单个数 */ 
#define  MMENU_WIDTH				34 
#define  MMENU_NO					6 
 
 
/* 定义菜单的宽度(下拉菜单),及最大子菜单个数 */ 
#define  SMENU_WIDTH				66 
#define  SMENU_NO					8 
 
 
/* 定义一子菜单项的数据结构 */ 
typedef  struct 
{  WINDOWS  *win;					// 所属窗口 
   u8    mmenu_no;				// 对应的主菜单项号(0-n) 
    
   u8    no;						// 子菜单项个数 
   char     *str[SMENU_NO];			// 子菜单字符串 
   u8    state;  				// 所选择的子菜单 
    
   void     (*Function[SMENU_NO])(void);		// 子菜单对应的服务程序 
} SMENU; 
 
/* 主菜单数据结构 */ 
typedef  struct 
{  WINDOWS  *win;					// 所属窗口 
 
   u8    no;						// 主菜单个数 
   char  	*str[MMENU_NO];			// 主菜单字符串 
} MMENU; 
 
 
/* 定义图标菜单数据结构 */ 
typedef  struct 
{  u16 x;			// 图标菜单位置(左上角的x坐标) 
   u16 y;			// 图标菜单位置(左上角的y坐标)  
   u8  *icodat;		// 32*32的ICO数据地址 
   u8  *title;       // 相关标题提示 (42*13) 
   u8  state;  		// 图标菜单状态,为0时表示未选中,为1时表示已选中 
    
   void   (*Function)(void);	// 对应的服务程序 
} MENUICO; 
 
 
/**************************************************************************** 
* 名称:GUI_MMenuDraw() 
* 功能:显示主菜单,加上边框。 
* 入口参数:men		主菜单句柄 
* 出口参数:返回0表示操作失败,返回1表示操作成功 
****************************************************************************/ 
extern  u8  GUI_MMenuDraw(MMENU *men); 
 
 
/**************************************************************************** 
* 名称:GUI_MMenuSelect() 
* 功能:当前主菜单,加下划线,表示当前主菜单。 
* 入口参数:men		主菜单句柄 
*          no		所选的主菜单项 
* 出口参数:无 
****************************************************************************/ 
extern  void  GUI_MMenuSelect(MMENU *men, u8 no); 
 
 
/**************************************************************************** 
* 名称:GUI_MMenuNSelect() 
* 功能:取消当前主菜单,去除下划线。 
* 入口参数:men		主菜单句柄 
*          no		所选的主菜单项 
* 出口参数:无 
****************************************************************************/ 
extern  void  GUI_MMenuNSelect(MMENU *men, u8 no); 
 
 
 
/**************************************************************************** 
* 名称:GUI_SMenuDraw() 
* 功能:显示子菜单,加上边框。 
* 入口参数:men		菜单句柄 
* 出口参数:返回0表示操作失败,返回1表示操作成功 
****************************************************************************/ 
extern  u8  GUI_SMenuDraw(SMENU *men); 
 
 
/**************************************************************************** 
* 名称:GUI_SMenuSelect() 
* 功能:选择新的子菜单。 
* 入口参数:men		子菜单句柄 
*          old_no	原先选择的子菜单项 
*		   new_no	现要选择的子菜单项 
* 出口参数:无 
****************************************************************************/ 
extern  void  GUI_SMenuSelect(SMENU *men, u8 old_no, u8 new_no); 
 
 
/**************************************************************************** 
* 名称:GUI_SMenuHide() 
* 功能:消隐子菜单项。 
* 入口参数:men		子菜单句柄 
* 出口参数:返回0表示操作失败,返回1表示操作成功 
****************************************************************************/ 
extern  u8  GUI_SMenuHide(SMENU *men); 
 
 
 
/**************************************************************************** 
* 名称:GUI_Button49x14() 
* 功能:显示49*14按钮。 
* 入口参数: x		指定显示位置,x坐标 
*           y		指定显示位置,y坐标 
*           dat		显示的数据地址 
* 出口参数:返回0表示操作失败,返回1表示操作成功 
****************************************************************************/ 
extern  void  GUI_Button49x14(u16 x, u16 y, u8 *dat); 
 
 
 
/**************************************************************************** 
* 名称:GUI_Button_OK() 
* 功能:显示49*14按钮"OK"。 
* 入口参数: x		指定显示位置,x坐标 
*           y		指定显示位置,y坐标 
* 出口参数:返回0表示操作失败,返回1表示操作成功 
****************************************************************************/ 
extern  void  GUI_Button_OK(u16 x, u16 y); 
 
 
 
/**************************************************************************** 
* 名称:GUI_Button_OK1() 
* 功能:显示49*14按钮,选择状态的"OK"。 
* 入口参数: x		指定显示位置,x坐标 
*           y		指定显示位置,y坐标 
* 出口参数:返回0表示操作失败,返回1表示操作成功 
****************************************************************************/ 
extern  void  GUI_Button_OK1(u16 x, u16 y); 
 
 
/**************************************************************************** 
* 名称:GUI_Button_Cancle() 
* 功能:显示49*14按钮"Cancle"。 
* 入口参数: x		指定显示位置,x坐标 
*           y		指定显示位置,y坐标 
* 出口参数:返回0表示操作失败,返回1表示操作成功 
****************************************************************************/ 
extern  void  GUI_Button_Cancle(u16 x, u16 y); 
 
 
 
/**************************************************************************** 
* 名称:GUI_Button_Cancle1() 
* 功能:显示49*14按钮,选择状态的"Cancle"。 
* 入口参数: x		指定显示位置,x坐标 
*           y		指定显示位置,y坐标 
* 出口参数:返回0表示操作失败,返回1表示操作成功 
****************************************************************************/ 
extern  void  GUI_Button_Cancle1(u16 x, u16 y); 
 
 
/**************************************************************************** 
* 名称:GUI_MenuIcoDraw() 
* 功能:显示图标菜单。 
* 入口参数:ico		图标菜单句柄 
* 出口参数:返回0表示操作失败,返回1表示操作成功 
****************************************************************************/ 
extern  u8  GUI_MenuIcoDraw(MENUICO *ico); 
 
 
 
#endif