文档介绍:第11章 打印与打印预览
1
打印的基础知识
打印的基本流程
控制打印过程
打印及打印预览实例
2
打印基础知识
生成支持打印的应用程序
向导的第4步不取消打印、打印预览设置
生成的应用程序包含打印、打印预览、打印设置三个菜单,打印与显示过程都会调用OnDraw函数
基本机制
显示:WM_PAINT消息→调用消息响应函数OnPaint→调用OnDraw函数,传递显示设备上下文
打印:选中打印菜单→调用OnPrint→调用OnDraw函数,传递打印设备上下文
打印预览:选中菜单→调用OnPrint→调用OnDraw函数,传递CPreviewDC对象
3
打印的基本流程
被框架所调用的函数
CMyView::OnPreparePrinting
推荐的应重载的功能
设置文档的页数;调用DoPreparePrinting弹出打印对话框并创建打印设备上下文
CMyView::OnBeginPrinting
如果没有设置文档页数,可以在此处设置;创建打印过程中使用的GDI对象
CDC::StartDoc
CMyView::OnPrepareDC
CDC::StartPage
CMyView::OnPrint
CDC::EndPage
CDC::EndDoc
CMyView::OnEndPrinting
设置视图原点、映射模式等设备上下文属性;如果文档长度未知,检测是否已到文档尾部
调用OnDraw函数输出屏幕中所显示内容;定制输出页眉、页脚或其它内容
释放OnBeginPrinting中创建的GDI资源
4
控制打印过程
CPrintInfo类对象贯穿在整个打印过程中,保存打印任务的信息(起始页、当前页、页码格式等),是应用程序框架与视图类交换打印信息的重要途径
打印时,应用程序框架调用OnPrparePrinting,调用DoPreparePrinting以弹出打印对话框,设置CPrintInfo的m_bDirect为TRUE,将不显示打印对话框,可通过设置CPrintInfo对象的成员变量,设置打印对话框的初始值,如打印页码范围等
对每一打印页,框架将调用OnPrepareDC,再调用OnPrint
CPrintInfo的m_nCurPage标识当前所打的页
可在OnPrepareDC中设置合适的映射模式、视图原点
设置CPrintInfo的m_bC