Easyx怎么返回上个页面并显示菜单
时间: 2024-02-06 19:04:19 浏览: 149
要在 EasyX 中返回上个页面并显示菜单,你可以使用函数和变量来实现页面的切换和菜单的显示。这里提供一种简单的实现方式:
```cpp
#include <graphics.h>
#include <conio.h>
enum Page { PAGE_MENU, PAGE_SUBMENU1, PAGE_SUBMENU2, PAGE_SUBMENU3 }; // 定义不同页面的枚举值
int currentPage = PAGE_MENU; // 当前页面,默认为菜单页面
void drawMenu() {
// 绘制菜单界面的代码
// ...
}
void drawSubMenu1() {
// 绘制子菜单1界面的代码
// ...
}
void drawSubMenu2() {
// 绘制子菜单2界面的代码
// ...
}
void drawSubMenu3() {
// 绘制子菜单3界面的代码
// ...
}
void handleInput() {
char key = getch(); // 获取用户按下的键盘输入
switch (currentPage) {
case PAGE_MENU:
if (key == '1') {
currentPage = PAGE_SUBMENU1; // 切换到子菜单1页面
} else if (key == '2') {
currentPage = PAGE_SUBMENU2; // 切换到子菜单2页面
} else if (key == '3') {
currentPage = PAGE_SUBMENU3; // 切换到子菜单3页面
}
break;
case PAGE_SUBMENU1:
case PAGE_SUBMENU2:
case PAGE_SUBMENU3:
if (key == '0') {
currentPage = PAGE_MENU; // 返回到菜单页面
}
break;
}
}
int main() {
initgraph(640, 480);
while (true) {
cleardevice(); // 清空屏幕内容
switch (currentPage) {
case PAGE_MENU:
drawMenu();
break;
case PAGE_SUBMENU1:
drawSubMenu1();
break;
case PAGE_SUBMENU2:
drawSubMenu2();
break;
case PAGE_SUBMENU3:
drawSubMenu3();
break;
}
handleInput(); // 处理用户输入
if (currentPage == PAGE_MENU) {
break; // 如果当前页面是菜单页面,则退出循环,结束程序
}
}
closegraph();
return 0;
}
```
上述代码中,我们使用了一个 `currentPage` 变量来表示当前所在页面。根据用户的输入和当前页面,我们可以在 `handleInput()` 函数中判断要切换到哪个页面。在 `main()` 函数中,我们使用一个循环来不断绘制当前页面,并处理用户的输入。当用户在子菜单页面按下 0 键时,会返回到菜单页面并结束循环,从而结束程序。
你可以根据需要修改每个页面的绘制函数 `drawMenu()`、`drawSubMenu1()`、`drawSubMenu2()`、`drawSubMenu3()` 来绘制各个页面的界面内容。
阅读全文