印预览功能,如图6-15所示:
图6-15 现在20个矩形可以正确地打印预览
在前面各节中,通过TestPrint程序介绍了在MFC应用程序中实现打印与打印预览功能的基本知识。在本节中,对MFC的打印做一总结性的介绍,以使用户对MFC应用程序中的打印功能的实现有更清晰的了解。
在MFC应用程序中,由于Windows系统提供的设备无关性,视图类OnDraw()函数中的所有绘图函数对显示设备和打印设备都同样有效。对打印预览而言,只不过是将打印输出模拟到屏幕罢了。
在设计一个具有打印功能的MFC应用程序时,用户需要做的工作就是:
n 通知应用程序框架文档有多少页。
n 在需要打印一页文档的时候,正确地绘制文档的相应部分。
n 分配和释放打印时使用的字体资源或其他GDI资源。
n 如果需要,在打印特定页前通知应用程序框架改变打印模式,比如说,改变打印的方向。
应用程序框架会在适当的时候调用适当的函数来完成打印功能。CView类定义了好几个在打印时将被应用程序框架调用的成员函数。在用户的应用程序中,通过在视图类中重载这些函数而在应用程序框架和视图类之间建立联系。
表6-4中列出了这些函数: