📄 f_menuhead.h
字号:
#include <curses.h>#include <stdio.h>#include <string.h>#include <stdlib.h>#include <form.h>#include <menu.h>#ifdef __F_WINLABEL_H#define __F_WINLABEL_H#endif#ifndef MENUITEM_MAX_LENGTH#define MENUITEM_MAX_LENGTH 20#endif#define ESC 27#define ENTER 13#define REFRESH 12#define MAX_LEVEL 10 /*菜单最大层数值*/#define MAXMENU 20 #define QUIT MAX_COMMAND+1#define ERASEMENU MAX_COMMAND+2//清除菜单#define MOVETONEXT MAX_COMMAND+3#define MOVETOPREV MAX_COMMAND+4/*非活动域即标签相关结构定义*/typedef struct F_LABEL{ int id; /*标签标识符号*/ int begin_y; /*标签开始的行数*/ int begin_x; /*标签开始的列数*/ int label_length; /*标签长度*/ char* label_text; /*标签的文字*/ int bkgr_color; /*背景颜色*/ int fore_color; /*前景颜色*/ int attrs; /*属性*/} F_LABELNODE; /*标签定义*/typedef struct { int label_num; F_LABELNODE * p_label;} F_LABELLINK; /*数据元素链表*//*活动域相关属性定义*/typedef struct F_FIELD{ int id; /*域标识符*/ int begin_y; /*域开始的行数*/ int begin_x; /*域开始的列数*/ int field_length; /*域的长度*/ char* field_name; /*域名称*/ int field_adjust; /*域对齐方式*/ /*0:左对齐 1:右对齐 2:居中对齐 */ int field_optional; /*该域是否可选*/ /*0:可选 1:必须输入*/ int field_fill; /*表示是否需要自动填充*/ /*填充符为field_padstr指定符号*/ /*0:不需要自动填充 1:需要自动填充*/ int field_fix; /*该域是否必须全部输入*/ /*0:不必须全部输入 1:必须全部输入*/ int field_autoexit; /*输满以后自动调到下一个域*/ /*0:不跳转 1:自动跳转*/ int field_secret; /*0:正常显示 1:密码显示*/ int field_visible; /*0:不可见 1:可见*/ int field_enable; /*0:不允许输入 1:允许输入*/ int field_fore_color; /*域的前景色*/ int field_bkgr_color; /*域的背景色*/ int field_type; /*域的类型*/ /*0:a-z和A-Z的字符*/ /*1:所有字母和数字*/ /*2:整数*/ /*3:浮点数*/ char* field_def_value; /*默认值*/} F_FIELDNODE;typedef struct { int field_num; F_FIELDNODE * p_field;} F_FIELDLINK; /*数据元素链表*/typedef struct { int item_index; /*菜单项索引号*/ char* item_data; /*菜单项数目*/ int item_enable; /*菜单项是否可用 0:不可用 1:可用*/ int item_ret_type; /*菜单项返回类型 0:调用一个函数 1:显示一个子菜单*/ char* item_ret_value; /*菜单项的返回值*/} F_MENUITEM;/*标识各个菜单项的结构*/typedef struct menuitem{ short int menu_code; /*所属菜单代号*/ short int item_code; /*该菜单项目序号*/ char item_name[20];/*菜单项名称*/ char exec_proc[80];/*本菜单项执行命令*/ char exec_param[80];/*执行命令的参数*/ short int submenu_code; /*下一级菜单编号*/ struct menuitem* next; /*指向下一个菜单指针*/}F_MENU_ITEM ;typedef struct menuconf{ short int menu_code; /*菜单代号*/ short int prev_code; /*上一级菜单号码*/ short int line_num; /*菜单的行数*/ short int begin_y; /*菜单的起始行数*/ short int begin_x; /*菜单的起始列数*/ short int prev_item_code;/*弹出该菜单项时候上级菜单项号*/}F_MENU;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -