[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://cdiso.cn/article/decgsc.html