我是靠谱客的博主 醉熏蛋挞,最近开发中收集的这篇文章主要介绍EasyX 如何创建多窗口(initgraph),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

EasyX 本来是不能创建多窗口的,但是可以用一个基于 EasyX 的库实现多窗口,就是 HiEasyX,这个库的 github 链接是:
https://github.com/zouhuidong/HiEasyX

HiEasyX 支持创建多绘图窗口,拥有相对完善的控件库,支持透明通道,封装了画布、图层和场景。

如果用原生的 EasyX,调用 initgraph 多次是没用的,你可以自己试试。但是如果在项目里用 HiEasyX,是可以直接实现这个功能的,而且创建出来的窗口还能缩放大小等等。

你可以在 hieasyx 的 github 仓库里面看看怎么配置 hieasyx,挺简单的,把它的源码加到项目里面就可以了。如果说你配置好了,那你就可以测试一下下面的代码(官方教程里的):

#include "HiEasyX.h"			// 包含 HiEasyX 头文件

int main()
{
	initgraph();			// 初始化窗口

	BEGIN_TASK();			// (不同于 EasyX)启动任务,标识开始绘制

	circle(320, 240, 100);		// 画圆

	END_TASK();			// (不同于 EasyX)完成绘制,结束任务

	FLUSH_DRAW();			// (不同于 EasyX)将绘制内容刷新到屏幕

	getmessage(EM_KEY);		// 任意键退出

	closegraph();			// 关闭窗口
	return 0;
}

说明一下,代码里标注了“不同于 easyx”的代码是 hieasyx 的一些特定写法,这部分你可以去看看他的官方教程,这里不细说了。总之这样下来,你就可以通过多次调用 initgraph 函数创建多个窗口了。

由于 HiEasyX 完全重写了 EasyX 的绘图窗口实现,所以可以支持创建多窗口、拉伸窗口,也支持自定义窗口过程函数。

创建窗口的正确方式:

// 方法 1:直接使用 initgraph,它实际上被宏定义为 HiEasyX 的窗口创建函数
initgraph(640, 480);

// 方法 2:调用 HiEasyX 的窗口创建函数
hiex::initgraph_win32(640, 480);

// 方法 3:使用 HiEasyX 的窗口类创建窗口
hiex::Window wnd(640, 480);

// 也可以这样使用窗口类创建窗口
hiex::Window wnd;
wnd.Create(640, 480);

创建窗口时还有一些可选参数,例如窗口名称、窗口属性、过程函数、父窗口句柄,等等。详情请查阅 文档 或头文件。

如果想要创建多个窗口,再次调用创建窗口函数即可。

创建多个窗口的效果:
在这里插入图片描述

最后

以上就是醉熏蛋挞为你收集整理的EasyX 如何创建多窗口(initgraph)的全部内容,希望文章能够帮你解决EasyX 如何创建多窗口(initgraph)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部