📄 q_menu.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 + -