📄 menu.h
字号:
/**
*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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -