asix_lb.h

来自「一个操作系统源代码 用于嵌入式设备 在Vc++环境下仿真 成功移植到多款处理器上」· C头文件 代码 · 共 93 行

H
93
字号
#ifndef _ASIXLBOX_H
#define _ASIXLBOX_H

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


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



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


/***********************************************/
/*菜单的总体数据结构******************************/
struct LBOX_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;
	U8					lbox_style;
	U8					maxlength;//by zl 2002.3.27
	struct LBOX_ICON 	lbox_mask;
	struct LBOX_ICON	lbox_display;
	struct LBOX_ICON	lbox_up;
	struct LBOX_ICON	lbox_down;
	struct LBOX_ICON	lbox_icon[5];
	struct LBOX_ITEM *  	lbox_item;	//point to the input data	
//	U8					offset;
	U16					offset;
	U8					total_line;
	U8 *				lbox_coveredmap;
	U32					scroll_id;
};

extern	STATUS	Lbox_create(char *caption, U32 style, U16 x, U16 y, U16 width, U16 height, 
	U32 wndid, U32 menu, void **ctrl_str, void *exdata);
extern	STATUS	Lbox_destroy(void *ctrl_str);
extern	STATUS	Lbox_msgtrans(void *ctrl_str, U16 msg_type, U32 areaid, U16 *data, U32 size, 
	PMSG trans_msg);
extern	STATUS  Lbox_msgproc(U32 win_id, U16 message, U32 lparam, void *data, U16 wparam, void *reserved);

extern  STATUS lb_repaint(void *ctrl_str, U32 lparam);	

#include <stdio.h>
#include <sys\sysdebug.h>
#include <asixwin\asixdbg.h>

#if ENABLE_ASIX_LISTBOX_DEBUG_OUT

#define asix_lbprintf(str)	dbgprintf( str )
#define asix_lboutput(str, var)	dbgoutput(str, var)
#define _asix_lbdbgout(str)	_dbgout(#str)
#define asix_lbassert(p)	((p) ? 	(void)0 : \
								(void) _asix_lbdbgout(Assertion failed:  ##p##, file ##__FILE__## , line  ##__LINE__## \n ))

// mem debug			
#define asix_lb_memdbgprintf(str)	dbgprintf( str )
#define asix_lb_memdbgoutput(str, var)	dbgoutput(str, var)

#else // disable asix button control debug

#define asix_lbprintf(str)
#define asix_lboutput(str, var)
#define asix_lbassert(p)

#define asix_lb_memdbgprintf(str)	
#define asix_lb_memdbgoutput(str, var)	

#endif

#endif //#ifndef _ASIXLBOX_H

⌨️ 快捷键说明

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