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

📄 yyxmenu.h

📁 DOS下的图形界面开发包
💻 H
字号:
#ifndef __YYXMENU_H
#define __YYXMENU_H

#if !defined(__YYXSYS_H)
#include "yyxsys.h"
#endif
#if !defined(__YYXSYS1_H)
#include "yyxsys1.h"
#endif
#if !defined(__YYXMSG_H)
#include "yyxmsg.h"
#endif
#if !defined(__YYXOBJ_H)
#include "yyxobj.h"
#endif

//	#define ENABLED 1
//  #define DISABLED 0       /* used for menu_status */
//  #define INVISIBLE 2

//#define SELECT_MENU 1
//#define UNSELECT_MENU 2
//#define DRAW_MENU_TITLE 3
//#define ENTER_MENU 4
//#define DRAW_SUB_MENU_RECT 5
//#define ESC_MENU 6		  /* menu OP s  */

#define MAX_IMME_KEY_NUMBERS 10

// #define patCopy 1

class menu_class:public Tobject {
public:
	char 	*help;
	int 	Imme_key_num;
	byte    sub_menu_nums;
	struct		BitMap	save_bitmap;
	Tmenu *psub_menu_selected;
	Tmenu *pfather_menu;
	Tmenu *pson_menu;
/*____________________Functions _________________________ */
public:
virtual void	select 		()	;
virtual void 	unselect 	()	;
virtual void  	draw		() 	;
virtual int 	msg_handler (MSG& message);
virtual int  	key_pressed_handler( int key_scan_num );

public:
	menu_class (int ID,char *title_hotkey,char *help,Tmenu *pfather );
	menu_class (char *init_title,char *init_help);    //init
void createmenu_class
	(Tmenu *pfather_menu,int ID,char *title,char *help,byte hotkey,int Imme_key_num,
	 byte status,int savebit_left,int savebit_top,int savebit_right,int savebit_bottom
	 );
virtual	~menu_class( void );

void dispose_all_submenus();
//	int  menu_key_trap(int key_scan_num );

void 	offsetmenu( int dx,int dy );

void  	enter_menu (void)                               ;

protected:
// Tmenu * get_next_enabled_item ( int direction )   ;
int   	esc_menu (void)                                 ;

//int  	menu_operation(int menu_OP) ;
Tmenu   * get_next_sub_item (enum direction direct);
//	int  	menu_func (int menu_ID )   ;
// void    normal_key_handler  ( int key_scan_num );

void 	esc_all_menus(void);
int 	bar_Imme_menu_key_handler( int key_scan_num);
void  	draw_help_texts (char *help_texts);

void  	draw_sub_menu_rect ( void );

//Tmenu *padd_a_new_menu


int   Left_Right_key_handler(enum direction scroll_direction);

};
/*------------------------------------------------------ */
/*------------------------------------------------------ */

#ifdef __YYXMAIN

  int  MENU_ITEM_ENABLED_COLOR     ;
  int  MENU_ITEM_SELECTED_COLOR    ;
  int  MENU_ITEM_DISABLED_COLOR    ;
  int  MENU_ITEM_SELECT_COLOR      ;
  int  MENU_HOTKEY_COLOR           ;
  int  HELP_RECT_COLOR             ;
  int  HELP_TEXT_COLOR             ;
  int  MENU_RECT_COLOR             ;

/* global variables */
Tmenu *pcurrent_menu;
struct Rect on_line_help_rect;
struct viewporttype menu_viewport;

int    	Immediate_key	[MAX_IMME_KEY_NUMBERS];
int    	Imme_Menu_ID   	[MAX_IMME_KEY_NUMBERS];
Tmenu *	Imme_Menu_fptr  [MAX_IMME_KEY_NUMBERS];
int    	Max_Imme_key_nums;
int 	in_menu_trap;

MSG menu_save_sysmsg;
class MSGQueue menu_save_queue;
#else

extern int  MENU_ITEM_ENABLED_COLOR     ;
extern int  MENU_ITEM_SELECTED_COLOR    ;
extern int  MENU_ITEM_DISABLED_COLOR    ;
extern int  MENU_ITEM_SELECT_COLOR      ;
extern int  MENU_HOTKEY_COLOR           ;
extern int  HELP_RECT_COLOR             ;
extern int  HELP_TEXT_COLOR             ;
extern int  MENU_RECT_COLOR             ;
/*  global variables */
extern Tmenu *pcurrent_menu;
extern struct Rect on_line_help_rect;
extern struct viewporttype menu_viewport;

extern int	Immediate_key	[MAX_IMME_KEY_NUMBERS];
extern int	Imme_Menu_ID     [MAX_IMME_KEY_NUMBERS];
extern Tmenu *Imme_Menu_fptr [MAX_IMME_KEY_NUMBERS];
extern int	Max_Imme_key_nums;
extern int 	in_menu_trap;

extern MSG menu_save_sysmsg;
extern class MSGQueue menu_save_queue;
#endif

//	extern void menu_func (int menu_ID );

#endif

⌨️ 快捷键说明

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