C语言速学——可视化easyx应用

利用easyx的graphics.h的预处理头文件制作一个简单的交互式菜单
主要的知识点都用注释标出,请放心食用,加油!
这一块的最终目的,可以用制作一个“交互式的相册”

完整代码如下:

#include
#include
#include
#include//加载可以传入音乐的库
#pragma comment(lib,"winmm.lib")//加载可以输入音乐(多字节)的库
void drawmenu()//记得把函数调用到主函数当中。。。。
{	
	setfillcolor(RED);
	bar(285,155,315,185);
	circle(300,170,15);
	setfillcolor(BLACK);
	bar(200,200,400,250);//bar画一个填充矩形,填充颜色由setfillcolor决定也可以用solidrectangle()画矩形
	setfillcolor(BLACK);
	bar(200,260,400,310);


	//写字
	settextcolor(WHITE);
	setbkmode(TRANSPARENT);
	settextstyle(35,0,"楷体");
	outtextxy(210,210,"第一个选择");
	outtextxy(210,265,"第二个选择");

	//设置鼠标交互
	MOUSEMSG m;
	while(1)
	{
		m=GetMouseMsg();//我理解为创建实例对象
		if(m.x>=200&&m.x<=400&&m.y>=200&&m.y<=250)//触到矩形框所在区域发生相应
		{
			setlinecolor(RED);
			rectangle(195,195,405,255);
			settextcolor(RED);
			settextstyle(35,0,"楷体");
			outtextxy(210,210,"第一个选择");
			if(m.uMsg==WM_LBUTTONDOWN)
			{
				IMAGE m;//break退出循环到图片
				loadimage(&m,"1.jpg",200,300);
				putimage(0,0,&m);
				mciSendString("open 1.mp3 alias music",0,0,0);//打开音乐文件
				mciSendString("play music repeat",0,0,0);//解析音乐文件
				break;
			}
		}
		else if(m.x>=200&&m.x<=400&&m.y>=260&&m.y<=310)
		{
			setlinecolor(RED);
			rectangle(195,255,405,315);
			settextcolor(RED);
			settextstyle(35,0,"楷体");
			outtextxy(210,265,"第二个选择");
			if(m.uMsg==WM_LBUTTONDOWN)
			{
				IMAGE m1;//break退出循环到图片
				loadimage(&m1,"2.jpg",200,300);
				putimage(400,300,&m1);
				mciSendString("open 2.mp3 alias music",0,0,0);//打开音乐文件
				mciSendString("play music repeat",0,0,0);//解析音乐文件
				break;
			}			
		}
		else if(m.x>=285&&m.x<=315&&m.y>=155&&m.y<=185)
		{
			if(m.uMsg==WM_LBUTTONDOWN)
			{
				exit(0);//点击最上面的红色区域推出程序
			}
		}
		else//利用将鼠标选中的矩形框线条颜色与背景颜色相同,使其出现“消失”效果,让文字再现使其没有选中效果
		{
			setfillcolor(RED);
			bar(285,155,315,185);
			setcolor(WHITE);
			circle(300,170,15);
			setcolor(GREEN);
			rectangle(195,195,405,255);
			rectangle(195,255,405,315);
			settextcolor(WHITE);
			setbkmode(TRANSPARENT);
			settextstyle(35,0,"楷体");
			outtextxy(210,210,"第一个选择");
			outtextxy(210,265,"第二个选择");

		}

	}


	


}
int main()
{
	
	initgraph(600,600);
	setbkcolor(GREEN);
	cleardevice();//设置背景颜色setbkcolor()后必须刷新界面后才能显示背景颜色
	while(1)
	{
	drawmenu();
	}

	getchar();//让屏幕暂停,若缺getchar()则会直接到“press any key to continue”的退出界面
	closegraph();
	return 0;

}

C语言速学——可视化easyx应用_第1张图片
C语言速学——可视化easyx应用_第2张图片
C语言速学——可视化easyx应用_第3张图片
结语:有时感觉特别自卑,感觉怎么就我没有寄托,可是今天不知道怎么了,突然就想通了,我一直都是一个载着好多好多负面情绪的人,可今天我觉得每个人都该有自己的一片心灵静地,平时喜欢低着头行走,沉浸在自己的世界里,当然有时也特别爱保持微笑,乐观积极,愿不再那么幼稚,愿永远不苟且堕落,可能自己一直追求的东西,正是我的亲人,我爱我爷爷奶奶,我爸我妈当然,他们比我努力很多倍地爱着我,我应该觉得开心,感到满足!编程的确可以让我感受到安静,每当一个小的程序可以运行,能把在别人眼里觉得不起眼的事变成有价值的东西,我就会感到好开心,开心到笑出声来!也许这就是我的心灵静地了。教资笔试快来了,学习编程这一块,我要放一放,全身投入当下了,可依然不能不加油,晚安,给正在迷茫不知所措的你!2019-10-28-2:37
学习的网址来源于B站:https://www.bilibili.com/video/av50829570/?p=4

你可能感兴趣的:(C语言)