一、引入图形化界面
1.下载Easyx库
2.在下载完easyx库后引入头文件
#include<graphics.h>
二、关于Easyx的基本函数操作
2.1颜色配比函数
RGB(0,0,0):代表黑色,表示红绿蓝的配比
RGB(255,255,255):代表白色
也可以用BLACK、WHILE、RED等代表颜色
2.2EasyX的坐标(有负数区分)
x、y的坐标单位:像素
当画一个矩形的时候:由左上角的坐标和右下角的坐标决定
圆:中心坐标,半径
前提条件:在窗口中画坐标
2.3窗口函数函数
1)初始化窗口:initgraph(800,600) //长800,宽600
system(“pause”) ; //暂停窗口,请按任意键继续,也可用getchar
将窗口和控制台都展示出来:initgraph(800,600,SHOWCONSOLE);
SHOWCONSOLE:展示控制台
NOCLOSE:没有关闭功能 //initgraph(800,600,NOCLOSE)
2)关闭窗口:closegraph();
三、关于Easyx的实际操作(代码实现)
3.1颜色操作的代码实现原理
int main() {
initgraph(800, 600,NOCLOSE);//初始化窗口
setbkcolor(RED);//要想变为红色,先消除黑色,或者清屏
cleardevice();//清屏
for (int i = 0; i < 256; i++) {//使窗口展现出渐变色
//设置背景颜色
//setbkcolor(RED);
setbkcolor(RGB(i, i, i));
cleardevice();
Sleep(50); //暂停毫秒(5ms);
}
system("pause");
closegraph();
}
3.2坐标操作的代码实现原理
关于矩形的坐标操作函数
int main() {
initgraph(800, 600, NOCLOSE);//初始化窗口
rectangle(100,50,150,200);//在窗口里面画矩形
setfillcolor(YELLOW);//填充矩形颜色为黄色
fillrectangle(100, 50, 150, 200);//将黄色填满矩形,有边框填充
system("pause");
closegraph();
}
关于圆的坐标操作函数
int main() {
initgraph(800, 600, NOCLOSE);
//circle(0, 0, 50); // 无填充,显示1/4的圆
//solidcircle(50, 50, 50); //无边框填充
//圆圈填充色 黄色 圆圈边框颜色 红色
setfillcolor(YELLOW); //圆圈填充色
setlinecolor(RED); //圆圈边框
setlinestyle(PS_SOLID,5);//设置边框的宽度为5像素,边框是实线
fillcircle(50, 50, 50); //填充颜色为白色的圆,有边框填充
system("pause");
closegraph();
}
3.3文字操作的代码实现原理
int main() {
initgraph(800, 600, NOCLOSE);
setbkcolor(RED);
cleardevice();//清屏,清除原先内容
//文字设定
settextcolor(RED);//设定文字颜色为红色,原先默认颜色为黑色
//settextstyle(30, 20, "黑体");//报错 默认const char*,但其实是带有编码格式的 wchar_t 类型
//修改方法,加大写“L”,或者在项目中打开—属性—高级—字符集—多字节字符集
settextstyle(50, 50, "黑体");//文字宽度 文字高度 自适应大小
//登录—矩形框—居中处理
/*setbkcolor(WHITE);
cleardevice();*/
setlinecolor(BLACK);
setlinestyle(PS_SOLID,3);
fillrectangle(100, 100, 400, 200);
RECT rect = { 100, 100, 400, 200 };
//去除文字的背景色,透明背景
setbkmode(TRANSPARENT);
drawtext("登录", &rect,DT_CENTER|DT_VCENTER|DT_SINGLELINE);
system("pause");
closegraph();
}
3.4鼠标操作的代码实现原理
//鼠标点击操作:点击登录
int main() {
initgraph(800, 600, SHOWCONSOLE);
//文字设定
settextcolor(RED);//设定文字颜色为红色,默认颜色黑色
//settextstyle(30, 20, "黑体");//报错 默认const char*,但其实是带有编码格式的 wchar_t 类型
//修改方法,加大写“L”,或者在项目中—属性—高级—字符集—多字节字符集
settextstyle(50, 50, "黑体");//文字宽度 文字高度 自适应大小
//登录—矩形框—居中处理
setbkcolor(WHITE);
cleardevice();
setlinecolor(BLACK);
setlinestyle(PS_SOLID, 3);
fillrectangle(100, 100, 400, 200);
RECT rect = { 100, 100, 400, 200 };
drawtext("登录", &rect, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
//水平居中 垂直居中 单行显示
/鼠标监听
MOUSEMSG msg;
while (1) {
if (MouseHit()) { //监听是否有鼠标动作
msg = GetMouseMsg(); //获取当前鼠标点击信息(umsg,x,y)
if (msg.x >=100&&msg.x<=400&&msg.y>=100&&msg.y<=200 ) {
switch (msg.uMsg)
{
case WM_LBUTTONDOWN:
printf("点击左键啦 x=%d,y=%d\n", msg.x, msg.y);
break;
case WM_RBUTTONDOWN:
printf("点击右键啦 x=%d,y=%d\n", msg.x, msg.y);
default:
break;
}
}
}
}
system("pause");
closegraph();
}