Share via


CView::OnPrint

Llamado por el marco para imprimir u ofrecer una vista previa de una página del documento.

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

Parámetros

  • pDC
    Señala al contexto de dispositivo de impresora.

  • pInfo
    Señala CPrintInfo estructurados que describe el trabajo de impresión actual.

Comentarios

Para cada página que es impresa, el marco de trabajo llama a esta función inmediatamente después de llamar a la función miembro de OnPrepareDC .La página que está impresa es especificada por el miembro de m_nCurPage de la estructura de CPrintInfo a la que pInfo señala.La implementación predeterminada llama a la función miembro de OnDraw y pásele el contexto de dispositivo de la impresora.

Invalide esta función para cualquiera de las siguientes razones:

  • Para permitir la impresión de documentos de varias páginas.Muestra solamente la parte del documento que corresponde a la página que está impresa actualmente.Si usa OnDraw para realizar la representación, puede ajustar el origen de la ventanilla solo para imprimir la parte correspondiente del documento.

  • Para crear la imagen impresa parece diferente de la imagen de pantalla (es decir, si la aplicación no está en modo WYSIWYG).En lugar de pasar el contexto de dispositivo de la impresora en OnDraw, utilice el contexto para mostrar una imagen mediante los atributos que no se muestran en la pantalla.

    Si necesita los recursos de GDI para imprimir que no se utiliza para la presentación en pantalla, no seleccionarlos en el contexto de dispositivo antes de dibujar y no reelíjalos como candidato después.Estos recursos de GDI deben asignarse en OnBeginPrinting y liberarse en OnEndPrinting.

  • Para implementar encabezados o pies de página.Puede utilizar OnDraw para realizar la representación limitando el área que puede imprimir en.

Observe que el miembro de m_rectDraw de parámetro de pInfo describe el área imprimible de la página en unidades lógicas.

No llame a OnPrepareDC en la invalidación de OnPrint; el marco de trabajo llama a OnPrepareDC automáticamente antes de llamar a OnPrint.

Ejemplo

A continuación se muestra un esquema para una función de invalidación de 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);
}

Para obtener otro ejemplo, vea CRichEditView::PrintInsideRect.

Requisitos

encabezado: afxwin.h

Vea también

Referencia

Clase CView

Gráfico de jerarquía

CView::OnBeginPrinting

CView::OnEndPrinting

CView::OnPrepareDC

CView::OnDraw