menu.h

来自「本程序是使用CDMA450模块开发的一个无线公话完整程序」· C头文件 代码 · 共 53 行

H
53
字号
/**
 *file menu.h
 *@
 */
#ifndef  _COMPONENT_MENU
#define  _COMPONENT_MENU

#include "component.h"
#include "listbox.h"

#define MAX_ITEM_NUM	10		/* 菜单条数目 */ 
#define MAX_ITEM_LEN	16		/* 菜单条文字长度 */ 


typedef struct menu menu_t;

typedef int (*sel_menu_f)(menu_t *pmenu);

typedef struct {
	char		name[MAX_ITEM_LEN];
	sel_menu_f	onitem;
} menu_item_t;

/**
 *menu_item_t --- 菜单数据结构
 */ 
struct menu {
	component_t			comp;					/**< 菜单组件 */
	listbox_t			menulist;
	menu_item_t			items[MAX_ITEM_NUM];
	BYTE				itemnum;				/**< 菜单条数 */
	BYTE				maxitemlen;				/**< 最大菜单项字符串长度 */
};


/**
 *XCreateMenu --- 创建菜单
 */
int XCreateMenu(component_t *parent, menu_t *pmenu);

/**
 *XAppendMenuItem --- 创建菜单项
 */
int XAppendMenuItem(menu_t *pmenu, const char *text, sel_menu_f onSel);
int XDeleteMenuItem(menu_t *pmenu, const char *text);
int XClearMenuItem(menu_t *pmenu);

int XMenuGetSelect(menu_t *pmenu);
/* 显示菜单,返回选择的菜单项,-1没有选择 */ 
int XPopMenu(menu_t *pmenu, int x, int y, int first);

#endif

⌨️ 快捷键说明

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