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

📄 q_menu.hpp

📁 QCurses全部代码 QCurses全部代码
💻 HPP
字号:
/*############################################################                                                           ##    类 名 称:Q_Menu.hpp                                   ##    类 定 义:菜单类                                       ##    建立时间:2004-12-7                                    ##    开 发 者:邱洋(Q龙)                                    ##    构造函数:WINDOW   *vMainWin  主窗口                   ##              int      vHeight     高度                     ##              int      vWidth     宽度                     ##              int      vYBegin    起始y( 以后y指上下 )     ##              int      vXBegin    起始x( 以后x指左右 )     ##              bool     vBox       是否画框                 ##              int      vCFront    文字颜色                 ##              int      vCBack     背景色                   ##              int      vMaxCount  最大选项(0没限制)        ##                                                           ##                                                           ##    最后修改:2004-12-6 将 isCheckBreak 声明为 virtual     ##                                                           ##                                                           ##                                                           #############################################################*/#ifndef     Q_MENU_HPP#define     Q_MENU_HPP#include    "Q_Object.hpp"#include    "Q_List.hpp"//#################################################################################################################//菜单项class  Q_MenuItem   {	public:		int    M_Flag;       //标记		char   M_Name[40];   //名称		bool   M_Sub;        //是否有下级菜单		int    M_UpFlag;     //上级菜单标记		int    M_LEN;        //宽度	public:		Q_MenuItem(int flag,char *name,bool sub,int upflag);}; //#################################################################################################################//子菜单项class Q_SubMenuItem  {	public:		Q_MenuItem  *SM_Item[20];  //最多也就20个子菜单		int         Count;         //子菜单的数量		int         SubWidth;      //子菜单最大宽度	public:		Q_SubMenuItem();		bool   AddSubMenuItem(Q_MenuItem  *Items); //添加菜单项	private:		void   ComputSubWidth();   //求最大宽度};//#################################################################################################################//菜单选项列表class  Q_MenuList: public Q_List{	public:		Q_MenuList(WINDOW  *vMainWin,int   vHeight,int  vWidth,int  vYBegin,int  vXBegin,bool   vBox,int  vCFront,int  vCBack,int  vMaxCount=0);		bool       isCheckBreak(int&  Key);};//#################################################################################################################class  Q_Menu: public Q_Object{	public:		int          xStart,yStart;     //起始坐标		Q_MenuItem   *MenuItems[200];   //首先设置200项目	public:		Q_Menu(WINDOW  *vMainWin,int  vWidth,int  vYBegin,int  vXBegin,bool  vBox,int  vCFront,int  vCBack);		int         Get();                //取得一个菜单的标志值,返回的是键盘的标志码		int         GetMenuFlag();        //使用函数 Get() 后,用来取得菜单的标志值		void        SetSpace(int JG);     //设置间隔		void        DispMenu();           //将菜单显示出来		void        AddMenu(int flag,char *name,bool sub,int upflag);     //加入一个菜单		bool        isCheckBreak(int& Key);                               //用户退出函数		Q_MenuItem  *GetSelectedMenu();                                   //得到用户的选择		char  *GetClass(){ return "Q_Menu"; }                             //返回类名称	private:		int           Count;              //总菜单数		int           SubFloor;           //子菜单数量		int           MainItemCount;      //主菜单数量		int           MenuJG;             //每个主数据项之间的间隔		WINDOW        *SubWin[4];         //4级子菜单	private:		void           MakeSubItem(Q_SubMenuItem  *SMenu); //创建子菜单		Q_MenuItem     *SelectEdMenuItem;                  //用户选择的菜单选项		Q_MenuItem     *MainMenuItem[20];                  //主菜单		Q_MenuList     *SubMenuList[4];                    //最多4层子菜单		Q_MenuItem     *GetMainMenuItem();                 //取得主菜单的项目		Q_SubMenuItem  *MakeSubItem(Q_MenuItem  *MMenu);   //建立子菜单所需项目};#endif

⌨️ 快捷键说明

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