CView::OnPreparePrinting

virtual BOOL OnPreparePrinting( CPrintInfo* pInfo );

返回值:如果要开始打印,则返回非零值;如果取消了打印任务,则返回0。

参数:
pInfo指向一个CPrintInfo结构,该结构描述了当前打印任务。

说明:
框架在文档被打印或打印预览之前调用这个函数。缺省的实现不做任何操作。你必须重载这个函数才能够打印或打印预览。调用DoPreparePrinting成员函数,将pInfo参数传递给它,然后返回它的返回值。
DoPreparePrinting显示Print对话框并创建一个打印机设备环境。如果你想要用不同于缺省值的值初始化Print对话框,则将这些值赋给pInfo。例如,如果你知道文档的长度,在调用DoPreparePrinting函数之前将这个值传递给pInfo的SetMaxPage成员函数。这个值将显示在Print对话框中范围部分的To: 框中。
对于打印预览作业,DoPreparePrinting并不显示Print对话框。如果你希望在打印作业中跳过Print对话框,检查pInfo中的m_bPreview成员为FALSE,在将它传递给DoPrepare- Printing之前把它设为TRUE,然后在把它恢复为FALSE。
如果你想要进行的初始化工作需要访问代表打印机设备环境的CDC对象(例如,如果你在设定文档长度之前需要知道页面的大小),则应重载OnBeginPrinting成员函数。
如果你想要设置pInfo参数的m_nNumPreviewPages或m_strPageDesc成员的值,则应在调用DoPreparePrinting之后进行这些操作。DoPreparePrinting成员函数会把m_nNumPreviewPages设为在应用程序的.INI文件中找到的值,并将m_strPageDesc设为它的缺省值。

示例:
如果你在创建起始文件的时候选择了打印选项,则AppWizard会提供重载的OnPreparePrinting函数,下面就是例子。除非你想要初始化Print对话框,否则这个重载函数的功能已经足够了:
BOOL CMyView::OnPreparePrinting( CPrintInfo *pInfo )
{
return DoPreparePrinting( pInfo );
}

请参阅:
CPrintInfo, CView::DoPreparePrinting, CView::OnBeginPrinting, CView::OnPrepareDC, CView::OnPrint