MFC 打印份数ncopies的问题
jiangsheng,您好! 问您个问题:
我想用nCopies接受外面输入的打印份数(比如2),但只能打印一份! 我想知道为什么,该怎么实现打印多份! 谢谢!
BOOL CSOfficeView::OnPreparePrinting(CPrintInfo* pInfo)
{
ULONG IsPrintCtrl = PP;
if (IsPrintCtrl!=0) //设置了打印控制
{
if (!pInfo->m_pPD->GetDefaults()) //GetDefaults will not display a dialog //but will get device defaults
return FALSE;
if(!(pInfo->m_pPD->m_pd.Flags & PD_PAGENUMS))
{
pInfo->m_pPD->m_pd.nFromPage = pInfo->m_pPD->m_pd.nMinPage;
pInfo->m_pPD->m_pd.nToPage = pInfo->m_pPD->m_pd.nMaxPage;
}
if(!(pInfo->m_pPD->m_pd.Flags & PD_USEDEVMODECOPIESANDCOLLATE))
{
pInfo->m_pPD->m_pd.nFromPage = (WORD)nStartPage;
pInfo->m_pPD->m_pd.nToPage =(WORD)nEndPage;
pInfo->m_pPD->m_pd.nCopies=(WORD)nPrintCopies;//只能打印一份!我想知道原因! }
}
else //没有设置打印控制
{
if (pInfo->m_pPD->DoModal() != IDOK)
return FALSE;
if (!(pInfo->m_pPD->m_pd.Flags & PD_PAGENUMS))
{
pInfo->m_pPD->m_pd.nFromPage = pInfo->m_pPD->m_pd.nMinPage;
pInfo->m_pPD->m_pd.nToPage = pInfo->m_pPD->m_pd.nMaxPage;
}
pInfo->m_pPD->m_pd.nCopies=(WORD)pInfo->m_pPD->GetCopies();
}
if (!COleDocObjectItem::OnPreparePrinting(this, pInfo))
return FALSE;
return CView::OnPreparePrinting(pInfo);
}