孙鑫VC学习笔记:第十一讲 (六) 图形重绘方法二 利用元文件

本文介绍了如何使用CMetaFileDC类来保存图形并进行重绘的操作流程,包括创建元文件、发送命令、关闭元文件以及播放元文件的方法。详细解释了元文件的创建、关闭及重绘图形的具体步骤。

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

介绍两种保存图形与重绘图形的方式
第一种,要利用要一个类 CMetaFileDC
第一步创建一个CMetaFileDC 对象。
接着调用CMetaFileDC 构造器,然后再调用Create 函数 创建一个设备上下文与CMetaFileDC 对象关联起来。

下一步给CMetaFileDC 对象发送一系列的CDC命令

在为元文件发送完命令之后,调用Close成员函数关闭元文件的设备上下文,
并返回一个元文件 的句柄。接着就可以处理CMetaFileDC 对象。

CDC::PlayMetaFile 方法可以用来使用元文件句柄播放元文件,我们可以多次调用本函数

介绍一些与本操作相关的成员函数
--------------------------------------------------------------------------------
CMetaFileDC::Create 
 BOOL Create(LPCTSTR lpszFilename = NULL );
 如果指定一个字符串,那么就指定了元文件的文件名,用来保存元文件
 如果变量pszFilename 为空,那么就会在内存中创建一个元文件
 
--------------------------------------------------------------------------------
CMetaFileDC::Close 
关闭一个设备上下文,返回一个DC句柄。

--------------------------------------------------------------------------------
用元文件来重绘图形的具体步骤:
1.先在CGraphicView类中,增加一个CMetaFileDC变量m_dcMetaFille
2.在CGraphicView类的构造函数中调用m_dcMetaFille的Create()方法,
  Create方法的参数的NULL时创建一个内存的元文件
3.在CGraphicView类的OnLButtonUp()方法中,写入绘图命令,
   OnLButtonUp()方法代码如下:
4.窗口重绘时,即在OnDraw()函数中,去关闭元文件,从而获得元文件句柄。
  有了元文件的句柄,就可以利用CDC::PlayMetaFile来播放它。
   注意:关闭元文件并不意味着删除元文件。

问题:元文件关闭以后,难道不能再次打开,继续画图? 希望有经验的朋友可以讲解一下这个问题!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值