HGE引擎适用于MFC的修改

本文详细介绍了如何调整HGE图形库代码,使其与MFC窗口消息系统兼容,包括创建窗口、设置渲染区域及接口实现,以及如何在对话框中初始化渲染过程,最终实现与MFC应用的无缝集成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 打开hge181/src/core/system.cpp

找到System_Initiate()函数,可以看见里面有段代码是用于创建窗口。

 

 

这段代码是创建窗口。

但因为我们是创建基于MFC窗口消息的图形,其窗口创建MFC已经帮其做好了。所以需要将其删除。

 

 

 

再找到SystemSetStatusHwnd函数,修改代码:

 

这样做是方便我们设置渲染的窗口。比如对话框之类的。

 

 

 

接下来在HGE_IMP.H文件中定义成员 

 

 

 

并将其初始化为0.

打开hge181/src/core/graphics.cpp文件修改Gfx_EndScene函数修改代码如下:

 

 

修改_GfxInit()在 pD3D=Direct3DCreate8(120); // D3D_SDK_VERSION这句代码前面添加如下代码:

 

rectW和rectFS顾名思义分别设置渲染子窗口区域,渲染整个屏幕区域。

 

 

并添加一个接口

 

这几句代码的作用是为了兼容MFC绘制模式。我们在这里的pD3DDevice->Present(&flipSrcRect, &flipDstRect, NULL,NULL);函数的作用是为了绘制到指定的我们的渲染区域。

 

 

 

调用过程如下。创建对话框,在初始化对话框上面初始化Render

具体代码如下:


 

 后面创建图片并具体渲染,我们可以模仿hgeSprite这种方式创建。然后在OnTimer里面进行渲染。

 

 

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值