1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
void CCrea2K6View::OnPrint(CDC *pDC, CPrintInfo *pInfo)
{
CPrintData* pPrintData = static_cast<CPrintData*>(pInfo->m_lpUserData);
CCrea2K6Doc * pDoc = GetDocument();
// sortie du nom de fichier du doc
pDC->SetTextAlign(TA_CENTER); // Centre le texte suivant
pDC->TextOut(pInfo->m_rectDraw.right/2, -20,pPrintData->m_DocTitle);
CString PageNum;
PageNum.Format("Page %d", pInfo->m_nCurPage);
// pDC->TextOut(pInfo->m_rectDraw.right/2, -1050, PageNum);
pDC->SetTextAlign(TA_LEFT); //Justifie le texte à gauche
// Remplace lorigine de la fenêtre par celle de la page en
// cours et enregistre lancienne origine
CPoint OldOrg = pDC->SetWindowOrg(pDoc->m_Origine.x,pDoc->m_Origine.y); // juste
// Définit 1 rect. de découpage de la taille de la zone imprimée
CRect rect (pDoc->m_Origine,pDoc->m_Origine+pDoc->m_Format); // juste
pDC->IntersectClipRect(rect);
m_pSelected=NULL; // sinon l'entité selectionné a son cadre autour d'elle :s
OnDraw(pDC); // Affiche le document
pDC->SelectClipRgn(NULL); // Supprime le rect. de découpage
// Restaure lancienne origine de la fenêtre
pDC->SetWindowOrg(OldOrg);
} |
Partager