在Windows应用程序中实现打印功能在以前并不是一件容易的事情。尽管Windows系统已经提供了与具体的打印设备无关的设备环境供程序员使用,但是还有许多需要考虑的东西。
MFC应用程序框架使得程序员能够比较容易地实现打印功能,它通过CView类支持文档的打印和打印预览功能。本章,我们将主要学习以下方面的内容:
n 基本打印功能
n 设置映射模式
n 正确实现打印分页
n MFC打印进程中各函数的调用顺序
在MFC程序中实现基本的打印与打印预览功能是很简单地,只要在利用AppWizard生成应用程序的步骤4中选择了Print and print preview选项,生成的程序就自动提供了基本的打印与打印预览功能。
下面建立一个名为TestPrint的例子程序。利用AppWizard新建一个MFC AppWizard(exe)类型的项目,项目名为TestPrint,在以后的各步骤中按以下操作:
(1)选择单文档界面,选中文档/视图结构支持,并选择英语为资源语言类型。
(2)不需支持任何数据库功能,选择None。
(3)不需支持任何复合文档,故选择None;不要选中Automation与ActiveX Controls选项。
(4)保持缺省选项,注意一定要选中Print and print preview选项。
(5)保持缺省选择。
(6)保持缺省状况,单击Finish完成项目设置。
这样生成的TestPrint程序就具有了基本的打印与打印预览功能。为了验证程序的功能,需要对程序代码稍做修改。
在CTestPrintView类的OnDraw()函数中添加一行代码,画一个矩形。程序清单6-1中是完整的OnDraw()函数的代码:
程序清单6-1 OnDraw()
void CTestPrintView::OnDraw(CDC* pDC)
{