Condividi tramite


CView::OnPrint

Chiamato dal framework per stampare o visualizzare in anteprima una pagina del documento.

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

Parametri

  • pDC
    Punti al contesto di dispositivo della stampante.

  • pInfo
    Punta a CPrintInfo struttura che descrive il processo di stampa corrente.

Note

Per ogni pagina che viene stampata, il framework chiama la funzione subito dopo il chiamare la funzione membro OnPrepareDC. La pagina che viene stampata specificata dal membro m_nCurPage della struttura CPrintInfo cui pInfo indica. L'implementazione predefinita chiama la funzione membro e quelle OnDraw il contesto di dispositivo della stampante.

Eseguire l'override di questa funzione per uno dei motivi seguenti:

  • Per consentire la stampa di documenti a più pagine. Eseguire il rendering solo la parte del documento corrispondente alla pagina attualmente viene stampata. Se si utilizza OnDraw per il rendering, è possibile modificare l'origine del riquadro di visualizzazione in modo da visualizzare solo la parte corretta del documento.

  • Per eseguire l'immagine stampata è diversa dall'immagine di schermo ovvero se l'applicazione non è WYSIWYG. Anziché passare il contesto di dispositivo della stampante a OnDraw, utilizzare il contesto di dispositivo per eseguire il rendering di un'immagine utilizzando gli attributi non visualizzati sullo schermo.

    Se sono necessarie le risorse GDI per la stampa che è non utilizzate per la visualizzazione, non vengono selezionate nel contesto di dispositivo prima di creare e deselezionile in seguito. Queste risorse GDI devono essere allocati in OnBeginPrinting ed essere rilasciato in OnEndPrinting.

  • Per implementare le intestazioni e piè di pagina. È comunque possibile utilizzare OnDraw per eseguire il rendering di limitare l'area che può essere stampato su.

Si noti che il membro m_rectDraw del parametro pInfo descrivere l'area stampabile della pagina in unità logiche.

Non chiamare OnPrepareDC nell'override OnPrint; il framework chiama OnPrepareDC automaticamente prima di chiamare OnPrint.

Esempio

Ecco uno scheletro per una funzione sottoposta a override OnPrint :

void CMyView::OnPrint(CDC *pDC, CPrintInfo *pInfo)
{
   UNREFERENCED_PARAMETER(pInfo);

   // Print headers and/or footers, if desired. 
   // Find portion of document corresponding to pInfo->m_nCurPage.
   OnDraw(pDC);
}

Per un esempio, vedere CRichEditView::PrintInsideRect.

Requisiti

Header: afxwin.h

Vedere anche

Riferimenti

Classe CView

Grafico delle gerarchie

CView::OnBeginPrinting

CView::OnEndPrinting

CView::OnPrepareDC

CView::OnDraw