CView::OnPrint

virtual void OnPrint( CDC* pDC, CPrintInfo* pInfo );

参数:
pDC指向打印机设备环境的指针。
pInfo指向CPrintInfo结构的指针,该结构描述了当前打印作业。

说明:
框架调用这个函数以打印或预览文档的一页。对于要被打印的每一页,框架在调用OnPrepareDC成员函数之后立即调用这个函数。要被打印的页是在pInfo指向的CPrintInfo结构的m_nCurPage成员中指定的。缺省的实现调用OnDraw函数并将打印机设备环境传递给它。
如果具有以下原因,则应重载这个函数:
·要允许打印多页文档。仅画出与当前要打印的页相对应的文档内容。如果你要OnDraw函数来绘图,你可以调整视图口的原点,这样只有文档的适当的部分才会被打印。
·要使打印出来的图像与屏幕显示的图像不同(如果你的应用程序不是所见即所得的)。不应将打印机设备环境传递给OnDraw函数,而是使用设备环境,用没有在屏幕上显示的属性来画出图像。 如果你在打印时需要一些GDI资源,而在屏幕显示中没有使用它们,则应在绘图之前将它们选入设备环境,随后把它们选出。这些GDI资源必须在OnBeginPrinting函数中分配,而在OnEndPrinting函数中释放。
·要实现页眉和页脚。只要你限制OnDraw可以打印的区域,你还可以使用OnDraw函数来绘图。 注意pInfo参数的m_rectDraw成员以逻辑单位描述了页面中可以打印的区域。在你重载的OnPrint中不要调用OnPrepareDC,框架在调用OnPrint之前自动调用了OnPrepareDC。

示例:
下面是重载的OnPrint函数的基本结构:
void CMyView::OnPrint( CDC *pDC, CPrintInfo *pInfo )
{
// Print headers and/or footers, if desired.
// Find portion of document corresponding to pInfo->m_nCurPage
. OnDraw( pDC );
}

请参阅:
CView::OnBeginPrinting, CView::OnEndPrinting, CView::OnPrepareDC, CView::OnDraw