189 8069 5689

[C语言界面设计]EGE图形化界面简易版教程(适合初学者)-创新互联

//又小小修改了一下,加了一些内容^_^

武宣网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站开发等网站项目制作,到程序开发,运营维护。创新互联2013年开创至今到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联

阅读提示:使用EGE时要创建c++项目, 不是c噢

话不多说直接上教程

--------------------------------------------------------------------------------------------------------------------

#include//使用ege的头文件
void test() {
	initgraph(1000, 625);		//创建窗口
	PIMAGE src1;//定义图像对象
	src1 = newimage();创建图像对象
	getimage(src1, "4.jpg");//从文件中读取图片
	putimage(0, 0, src1);//在窗口上绘制图片,相当于贴上你的背景图
	setfont(26, 0, "宋体");//设置字体,26是字高, 0指的是字宽根据字高自动调整, 宋体是字体
	setbkmode(TRANSPARENT);//这个是将文字的背景色设置成透明,否则一个字后面会有色块
	setcolor(BLACK);//这个是设置字体颜色
	for(; is_run(); delay_fps(60)) {	//is_run()判断窗口是否存在,delay_fps(60) 作用是稳定帧率并刷新窗口 ,一秒钟循环60次

		mouse_msg msg = {0};	//定义鼠标变量并且初始化
		while(mousemsg()) {  //利用mousemsg()判断有没有鼠标消息
			msg = getmouse();
		} //获得鼠标消息
		if((msg.x >142 && msg.x< 391) && (msg.y >414 && msg.y< 499) && msg.is_left() && msg.is_down()) {

            //插入函数
		} else if((msg.x >587 && msg.x< 823) && (msg.y >417 && msg.y< 499) && msg.is_left() && msg.is_down()) {

			//插入函数
		}
	}
}

注意!所有和鼠标点击有关的代码全部放在for()循环里面,也包括函数的调用,否则你就算点了界面上的相关选项,界面也不会有反应!

1.创建窗口:initgraph(窗口的宽, 窗口的高) //这里的宽高都一像素为单位

2.读取文件中的图片:最好把图片和项目都放在一个文件夹里,这样就只用写“文件名”,不然就要复制文件路径,把文件路径中的每一个单杠变成双杠,切记!

文件名是自己保存的图片的名字,可以把文件名修改成简单的数字,方便操作(使用重命名即可)

3.制作界面:制作精美的界面,往往只需要最简单的操作:直接在电脑自带的画图工具里面画

具体操作:1.先找一张好看的照片,将它裁剪成和窗口一样大,如何裁剪请自己解决

 2.用画图的打开方式打开图

片文件,之后就可以自己画框,输入文字等等

very important:如果想多次更换背景,就要再使用一次putimage();换上不同的图片文件名,记得清屏哦!

//比如这样

PIMAGE src1, src2;

src1 = newimage();
src2 = newimage();
getimage(src1, "文件名");
getimage(src2, "文件名");
putimage(src1);//背景图是src1

//中间是你的代码

//想要更换背景时,就可以这样操作

cleardevice();//先清屏
putimage(src2);//在把背景图贴上去就可以啦

最后就是这样啦,是不是很简单!!!

根本不需要用按钮啥的

4.确定你设置的框的位置:

比如上图中我画了一个“添加信息”,怎样才可以在鼠标点击之后进入“添加信息”的界面呢?

同样很简单!

获取鼠标消息后,用if()语句判断鼠标点击的位置,msg.x是窗口的横坐标,往右是正方向,msg.y是窗口的纵坐标,往下是正方向,其中左上角的坐标是(0,0)

注意:坐标的单位都是像素,具体查看方法可以用画图打开图片文件,将你的鼠标点在框的四个角就可以看到具体横纵坐标,也就是像素。

接着用msg.is_left() 和msg.is_down()判断你是否按下鼠标左键即可

5.cleardevice()的使用,作用是清屏   一定要用,否则你在上个界面留下的痕迹,这个界面还会有,属于是叠加buff了

建议在putimage()之前使用;

6.界面输出文字:

推荐使用xyprintf(横坐标,纵坐标,“输出的文字”);这个是单行输出

注意: 1.这里的横纵坐标是输出的第一个字的左上角的坐标;

2. \n,\t在xyprintf()里面都无效

  3.EGE也有多行输出,请自行查找资料

4. 横纵坐标不光可以写具体的数组,里面也可以是含字母的参数,因为如果你想遍历文件,是要在多行输出的,比如30 + i; 但这里的i也是要改变的,不然依旧是在一行输出!

可以这样:for() {

  xyprintf(0, 30 + i, "");

  i++;

     }

7.输入框的使用:

如果你想让用户输入信息的话,可以使用EGE自带的输入框,咱们怎么简单怎么来

inputbox_getline("输入框标题", "输入框的提示内容", 一个char型数组, 数组大小);

char input[10];

例如:inputbox_getline("输入", "请输入账号密码", input, 10);

接着用户输入的信息就会存在input数组里面啦

注:也可以自己创建输入框,请自行查找资料

8.退出EGE

程序运行时会有两个框,只有return 0是不够的,还要在return 0之前加上 closegraph();用来关闭EGE

到这里EGE的新手版使用教程就已经全部介绍完啦,还有啥不懂的再看看我贴的代码,也可以自行查阅相关资料~~~~~byebye

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


本文标题:[C语言界面设计]EGE图形化界面简易版教程(适合初学者)-创新互联
分享地址:http://cdxtjz.cn/article/decgsc.html

其他资讯