做一个展示图片的界面,但打开图片返回主菜单后,主菜单的按钮用不了了。不知道是程序哪个地方有问题。怎样使开打图片返回后还能继续使用主菜单。
#include <graphics.h> // 引用 EasyX 图形库
#include <conio.h>
#include <stdio.h>
#include <io.h>
int main()
{
IMAGE img1;
IMAGE img2;
IMAGE img3;
initgraph(1366, 700);
if (_waccess(_T("res\\welcome.jpg"), 0) < 0)
{
printf("文件不存在,原因可能是:1.资源不存在;2.路径错误;3.无法识别文件(夹)名\n");
_getch();
return 0;
}
loadimage(&img1, _T("res\\welcome.jpg"), 0, 0);
_T("res\\welcome.jpg");
putimage(0, 0, &img1);
MOUSEMSG msg;//定义变量,保存鼠标消息
FlushMouseMsgBuffer();// 清空鼠标消息缓冲区,避免无效鼠标信息带入到正式判断中
while (true) // 主循环,循环监听鼠标信息
{
while (MouseHit()) //监听鼠标信息;当有鼠标消息的时候执行,可检测连续的鼠标信息
{
msg = GetMouseMsg();//获取鼠标消息
if (WM_LBUTTONDOWN == msg.uMsg)//判断鼠标信息;鼠标左键按下
{
if (msg.x > 232 && msg.x < 498 && msg.y > 478 && msg.y < 543)//鼠标点击特定区域,即ENTER按钮所在区域
{
if (_waccess(_T("res\\welcome_button.jpg"), 0) < 0)
{
printf("1");
_getch();
return 0; // 资源不存在时,退出程序,不继续往下
}
loadimage(&img2, _T("res\\welcome_button.jpg"), 0, 0);
_T("res\\welcome_button.jpg");
putimage(0, 0, &img2);
Sleep(100);
if (_waccess(_T("res\\startup.jpg"), 0) < 0)
{
printf("文件不存在,原因可能是:1.资源不存在;2.路径错误;3.无法识别文件(夹)名\n");
_getch();
return 0; // 资源不存在时,退出程序,不继续往下
}
loadimage(&img3, _T("res\\startup.jpg"), 0, 0);
_T("res\\startup.jpg");
putimage(0, 0, &img3);
FlushMouseMsgBuffer();// 清空鼠标消息缓冲区,避免无效鼠标信息带入到正式判断中
while (true)
{
while (MouseHit())
{
msg = GetMouseMsg();
if (WM_LBUTTONDOWN == msg.uMsg)//判断鼠标信息;鼠标左键按下
{
if (msg.x > 1239 && msg.x < 1334 && msg.y > 20 && msg.y < 62)
{
loadimage(&img1, _T("res\\welcome.jpg"), 0, 0);
_T("res\\welcome.jpg");
putimage(0, 0, &img1);
}
}
}
}
}
}
}
}
getchar(); // 暂停程序运行,查看输出结果
return 0;
}