MFC--打印和预览

MFC应用程序中的打印操作基于Windows的GDI模块,通过获取打印机DC,使用GDI绘图函数将内容转化为Metafile,然后由打印机驱动转换为Postscript或控制序列。打印流程涉及GDI、打印机驱动、打印管理器以及最终的硬件通讯。MFC框架负责打印对话框、CDC对象的管理,而View对象负责具体页面的绘制及资源管理。
摘要由CSDN通过智能技术生成
 

打印操作的后台原理

  Windows的所有绘图指令,都集中在GDI模块中,称为GDI绘图函数。

  图形输出到何处。关键是DC,这是任何GDI绘图函数的第一个参数,可以是GetDCBeginPaint函数所获得的显示器DC.

 每一个送往打印机DC的秽土操作,其实都只被记录为metafile,存储在我们的TEMP目录中。当调用Escape(hPr,NEWFRAME,)时,打印机驱动程序(。DRV)会把这些metafile转换为打印语言(control SequencePostscript).然后通过GDI模块,由GDI把它存储为.SPL文件,也放在TEMP目录下,并删除对应的metafile。之后,GDI模块再送出消息给打印管理器Print Manager,由后者调用OpenComm,WriteComm等底层通讯函数(也都是Windows API函数),把打印机命令传递给打印机。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值