在打印期间,一个CPrintInfo对象在
框架和应用程序的视类之间传递,并用于在两者之间交换信息。例如,框架通过对CPrintInfo和m_nCurPage成员赋值,来通知视类要打印文档的哪一页;视类检取此值,并执行指定页的实际打印。
CPrintInfo存储有关一次打印或打印预览作业的信息。每次选择Print或PrintPreview命令,框架就创建一个CPrintInfo对象,并在命令完成时删除此对象。CPrintInfo包含有关打印作业的一般信息,例如要打印的页范围,以及打印作业的当前状态,例如当前正打印的页。某些信息存放在一个相关联的CPrintInfo对象中;此对象中包含用户在Print对话框中输入的值。
另一个例子就是文档的长度直到打印时也不知道的情况。在这种情况下,视类在每打印一页时都测试是否是文档的结尾了。当到达文档结尾时,视类将CPrintInfo的m_bContinuePrinting成员设置为FALSE,它通知框架停止打印循环。
CView::OnBeginPrinting, CView::OnEndPrinting, CView::OnEndPrintPreview, CView::OnPrepareDC, CView::OnPreparePrinting, CView::OnPrint