📄 qmenu.hpp
字号:
/*****************************************************************************
程序名称 : QMenu.hpp
程序功能 : 菜单类,可以快速生成程序菜单,简单方便
开发者 : 邱洋
联系方法 : QQ:1964477 电话:13942111107、0421-2625905
*****************************************************************************/
class QMenuItem
{
public:
int M_Flag; //标记
char M_Name[40]; //名称
bool M_Sub; //是否有下级菜单
int M_UpFlag; //上级菜单标记
int M_LEN; //宽度
QMenuItem(int flag,char *name,bool sub,int upflag);
}; //菜单项
//####################################################################################################################
class QSubMenuItem
{
public:
QMenuItem *SM_Item[20]; //最多也就20个子菜单
int Count; //子菜单的数量
int SubWidth; //子菜单最大宽度
QSubMenuItem();
bool AddSubMenuItem(QMenuItem *Items); //添加菜单项
private:
void ComputSubWidth(); //求最大宽度
}; //子菜单项
//####################################################################################################################
class QMenuList: public QList
{
public:
//构造函数
QMenuList(WINDOW *MainWin,int Higth,int Width,int HBegin,int WBegin,bool cYoNbox,int ColorNumb);
bool NowKeyheckBreak(int& Key); //用户退出函数
};
//####################################################################################################################
class QMenu: public QWindow
{
public:
int xStart,yStart; //起始坐标
QMenuItem *MenuItems[200]; //首先设置200项目
int MenuJG; //每个主数据项之间的间隔
//构造函数
QMenu(WINDOW *MainWin,int Width,int HBegin,int WBegin,int ColorNumb);
void DispMenu(); //将菜单显示出来
int Get(); //取得一个菜单的标志值,返回的是键盘的标志码
int GetMenuFlag(); //使用函数 Get() 后,用来取得菜单的标志值
void AddMenu(int flag,char *name,bool sub,int upflag); //加入一个菜单
bool NowKeyheckBreak(int& Key); //用户退出函数
QMenuItem *GetSelectedMenu(); //得到用户的选择
private:
int Count; //总菜单数
int SubFloor; //子菜单数量
int NowKey; //当前键值
QMenuItem *SelectEdMenuItem; //用户选择的菜单选项
QMenuItem *MainMenuItem[20]; //主菜单
int MainItemCount; //主菜单数量
WINDOW *SubWin[4]; //4级子菜单
QMenuList *SubMenuList[4]; //最多4层子菜单
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -