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

📄 f_menuhead.h

📁 《unix/Linux下的Curses库开发指南》综合示例程序
💻 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 + -