CView::OnPreparePrinting
Llamado por el marco antes de que se imprima o se genere una vista previa de un documento.
virtual BOOL OnPreparePrinting(
CPrintInfo* pInfo
);
Parámetros
- pInfo
Señala una estructura de CPrintInfo que describe el trabajo de impresión actual.
Valor devuelto
Distinto de cero para iniciar impresión; 0 si el trabajo de impresión ha estado cancelado.
Comentarios
La implementación predeterminada no hace nada.
Debe invalidar esta función para habilitar la impresión y vista previa de impresión.Llame a la función miembro de DoPreparePrinting , pasándole el parámetro de pInfo , y después devuelve su valor devuelto; DoPreparePrinting muestra el cuadro de diálogo imprimir y crea un contexto de dispositivo de impresora.Si desea inicializar el cuadro de diálogo imprimir con valores distintos de los valores predeterminados, asignar valores a los miembros de pInfo.Por ejemplo, si conoce la longitud del documento, pase el valor a la función miembro de SetMaxPage de pInfo antes de llamar a DoPreparePrinting.Este valor se muestra en: cuadro de la parte del intervalo del cuadro de diálogo imprimir.
DoPreparePrinting no muestra el cuadro de diálogo de impresión para un trabajo de vista previa.Si desea omitir el cuadro de diálogo de impresión para un trabajo de impresión, compruebe que el miembro de m_bPreview de pInfo es FALSO y después establece en TRUE antes de pasarla a DoPreparePrinting; restáurelo a FALSO después.
Si necesita realizar las inicializaciones que requieren acceso al objeto de CDC que representa el contexto de dispositivo de impresora (por ejemplo, si necesita conocer el tamaño de página antes de especificar la longitud del documento), reemplace la función miembro de OnBeginPrinting .
Si desea establecer el valor de los miembros de m_nNumPreviewPages o de m_strPageDesc de parámetro de pInfo , hacerlo después de llamar a DoPreparePrinting.La función miembro de DoPreparePrinting establece m_nNumPreviewPages el valor encontrado en el archivo de .INI de aplicación y establece m_strPageDesc en su valor predeterminado.
Ejemplo
Reemplace OnPreparePrinting y llame a DoPreparePrinting de reemplazo de modo que el marco muestra un cuadro de diálogo imprimir y cree una TITLE. printer automáticamente.
BOOL CMyEditView::OnPreparePrinting(CPrintInfo* pInfo)
{
return CEditView::DoPreparePrinting(pInfo);
}
Si sabe cuántas páginas contiene el documento, establezca la página máxima en OnPreparePrinting antes de llamar a DoPreparePrinting.El marco mostrará el número de página máximo en “al cuadro del cuadro de diálogo imprimir.
BOOL CExampleView::OnPreparePrinting(CPrintInfo* pInfo)
{
//The document has 2 pages.
pInfo->SetMaxPage(2);
return CView::DoPreparePrinting(pInfo);
}
Requisitos
encabezado: afxwin.h