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

📄 asix_mn.h

📁 一个操作系统源代码 用于嵌入式设备 在Vc++环境下仿真 成功移植到多款处理器上
💻 H
字号:

#ifndef _ASIXMENU_H
#define _ASIXMENU_H

#include <asixwin.h>
#include <asixwin\in_mn_lb.h>



/***********************************************/
/*菜单的输入数据结构******************************/
struct MENU_ITEM
{
	U8 		item_status;
	U8		item_underline;
	char * 	item_text;
};



/***********************************************/
/*菜单中保存各个ICON的数据结构*********************/
struct MENU_ICON
{
	U32	 icon_id;
	U8	 icon_status;	
};


/***********************************************/
/*菜单的总体数据结构******************************/
struct MENU_STRUCTURE
{
	U32					classid;
	U32					windowid;
	U8					item_selected;
	U16					pop_x;	
	U16 				pop_y;
	U16					pop_width;
	U16					pop_height;
	U16					x, y, height, width;
	U8					pop_status;
	struct MENU_ITEM *  menu_item;
	struct MENU_ICON 	menu_mask;
	struct MENU_ICON	menu_start;
	struct MENU_ICON	menu_up;
	struct MENU_ICON	menu_down;
	struct MENU_ICON	menu_icon[5];
	U8					offset;
	U8					total_line;
	U8 *				menu_coveredmap;
};

extern	STATUS	menu_create(char *caption, U32 style, U16 x, U16 y, U16 width, U16 height, 
				U32 wndid, U32 menu, void **ctrl_str, void *exdata);

extern	STATUS	menu_destroy(void *ctrl_str);

extern	STATUS	menu_msgtrans(void *ctrl_str, U16 msg_type, U32 areaid, U16 *data, U32 size, 
				PMSG trans_msg);
	
extern	STATUS  menu_msgproc(U32 win_id, U16 asix_msg, U32 lparam, void *data, U16 wparam, void *reserved);
	
extern  STATUS mn_repaint(void *ctrl_str, U32 lparam);

#include <asixwin\asixdbg.h>

#if ENABLE_ASIX_MENU_DEBUG_OUT

#define asix_mnprintf(str)	dbgprintf( str )
#define asix_mnoutput(str, var)	dbgoutput(str, var)
#define _asix_mndbgout(str)	_dbgout(#str)
#define asix_mnassert(p)	((p) ? 	(void)0 : \
								(void) _asix_mndbgout(Assertion failed:  ##p##, file ##__FILE__## , line  ##__LINE__## \n ))

// mem debug			
#define asix_mn_memdbgprintf(str)	dbgprintf( str )
#define asix_mn_memdbgoutput(str, var)	dbgoutput(str, var)

#else // disable asix button control debug

#define asix_mnprintf(str)
#define asix_mnoutput(str, var)
#define asix_mnassert(p)

#define asix_mn_memdbgprintf(str)	
#define asix_mn_memdbgoutput(str, var)	

#endif


#endif //#ifndef _ASIXMENU_H

⌨️ 快捷键说明

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