概述
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)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复