100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > [C语言界面设计]EGE图形化界面简易版教程(适合初学者)

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

时间:2018-10-21 19:39:55

相关推荐

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

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

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

话不多说直接上教程

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

#include <graphics.h> //使用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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。