Compartir a través de


CPrintInfo (estructura)

Almacena información sobre la impresión o la vista previa de impresión.

Sintaxis

struct CPrintInfo

Miembros

Métodos públicos

Nombre Descripción
CPrintInfo::GetFromPage Devuelve el número de la primera página que se va a imprimir.
CPrintInfo::GetMaxPage Devuelve el número de la última página del documento.
CPrintInfo::GetMinPage Devuelve el número de la primera página del documento.
CPrintInfo::GetOffsetPage Devuelve el número de las páginas anteriores a la primera página de un elemento DocObject que se va a imprimir en un trabajo de impresión combinado de DocObject.
CPrintInfo::GetToPage Devuelve el número de la última página que se va a imprimir.
CPrintInfo::SetMaxPage Establece el número de la última página del documento.
CPrintInfo::SetMinPage Establece el número de la primera página del documento.

Miembros de datos públicos

Nombre Descripción
CPrintInfo::m_bContinuePrinting Contiene una marca que indica si el marco debe continuar con el bucle de impresión.
CPrintInfo::m_bDirect Contiene una marca que indica si el documento se está imprimiendo directamente (sin mostrar el cuadro de diálogo Imprimir).
CPrintInfo::m_bDocObject Contiene una marca que indica si el documento que se está imprimiendo es un DocObject.
CPrintInfo::m_bPreview Contiene una marca que indica si el documento se está previsualizando.
CPrintInfo::m_dwFlags Especifica las operaciones de impresión de DocObject.
CPrintInfo::m_lpUserData Contiene un puntero a una estructura que ha creado el usuario.
CPrintInfo::m_nCurPage Identifica el número de la página que se está imprimiendo en ese momento.
CPrintInfo::m_nJobNumber Especifica el número de trabajo asignado por el sistema operativo en el trabajo de impresión actual
CPrintInfo::m_nNumPreviewPages Identifica el número de páginas que se muestran en la ventana de vista previa; uno o dos.
CPrintInfo::m_nOffsetPage Especifica el desplazamiento de una primera página de un DocObject determinado en un trabajo de impresión combinado de DocObject.
CPrintInfo::m_pPD Contiene un puntero al objeto CPrintDialog que se usa en el cuadro de diálogo Imprimir.
CPrintInfo::m_rectDraw Especifica un rectángulo que define el área de la página que se puede usar en ese momento.
CPrintInfo::m_strPageDesc Contiene una cadena de formato para la presentación de números de páginas.

Comentarios

CPrintInfo es una estructura y no tiene una clase base.

El marco crea un objeto de CPrintInfo cada vez que se elige el comando Imprimir o Vista previa de impresión y lo destruye al completarse el comando.

CPrintInfo contiene información sobre el trabajo de impresión visto en su conjunto, como el intervalo de páginas que se va a imprimir, y el estado del trabajo de impresión en ese momento, como la página que se está imprimiendo. Parte de esa información se almacena en un objeto CPrintDialog asociado que contiene los valores que introduce el usuario en el cuadro de diálogo Imprimir.

Un objeto CPrintInfo se pasa entre el marco y la clase de vista durante el proceso de impresión y se usa para intercambiar información entre los dos. Por ejemplo, el marco comunica a la clase de vista la página del documento que se va a imprimir asignando un valor al miembro m_nCurPage de CPrintInfo, la clase de vista recupera el valor e imprime en ese momento la página indicada.

Otro ejemplo es cuando solo se conoce la extensión del documento cuando se imprime. En esa situación, la clase de vista comprueba el final del documento cada vez que se imprime una página. Cuando se llega al final, la clase de vista establece el m_bContinuePrinting miembro de CPrintInfo en FALSE; de este modo se informa al marco de trabajo para que detenga el bucle de impresión.

CPrintInfo lo usan las funciones de miembro de CView que figuran en «Ver también». Para obtener más información sobre la arquitectura de impresión que proporciona la biblioteca MFC (Microsoft Foundation Class), consulte Ventanas de marco y Documento/Ver arquitectura y los artículos Printing, (Impresión), y Printing: Multipage documents, (Impresión de documentos de varias páginas).

Jerarquía de herencia

CPrintInfo

Requisitos

Encabezado: afxext.h

CPrintInfo::GetFromPage

Llame a esta función para recuperar el número de la primera página que se va a imprimir.

UINT GetFromPage() const;

Valor devuelto

El número de la primera página que se va a imprimir.

Comentarios

Este es el valor que especifica el usuario en el cuadro de diálogo Imprimir y se almacena en el objeto CPrintDialog al que hace referencia el miembro m_pPD. Si el usuario no especifica un valor, el valor predeterminado es la primera página del documento.

CPrintInfo::GetMaxPage

Se llama a esta función para recuperar el número de la última página del documento.

UINT GetMaxPage() const;

Valor devuelto

El número de la última página del documento.

Comentarios

Este valor se almacena en el objeto CPrintDialog al que hace referencia el miembro m_pPD.

CPrintInfo::GetMinPage

Se llama a esta función para recuperar el número de la primera página del documento.

UINT GetMinPage() const;

Valor devuelto

El número de la primera página del documento.

Comentarios

Este valor se almacena en el objeto CPrintDialog al que hace referencia el miembro m_pPD.

CPrintInfo::GetOffsetPage

Se llama a esta función para recuperar el desplazamiento al imprimir varios elementos DocObject desde un cliente DocObject.

UINT GetOffsetPage() const;

Valor devuelto

El número de las páginas anteriores a la primera página de un elemento DocObject que se va a imprimir en un trabajo de impresión combinado de DocObject.

Comentarios

El miembro m_nOffsetPage hace referencia a este valor. La primera página del documento se numerará con el valor m_nOffsetPage + 1 al imprimirse como DocObject con otros documentos activos. El miembro m_nOffsetPage solo es válido si el valor m_bDocObject es TRUE.

CPrintInfo::GetToPage

Se llama a esta función para recuperar el número de la última página que se va a imprimir.

UINT GetToPage() const;

Valor devuelto

El número de la última página que se va a imprimir.

Comentarios

Este es el valor que especifica el usuario en el cuadro de diálogo Imprimir y se almacena en el objeto CPrintDialog al que hace referencia el miembro m_pPD. Si el usuario no ha especificado un valor, el valor predeterminado es la última página del documento.

CPrintInfo::m_bContinuePrinting

Contiene una marca que indica si el marco debe continuar con el bucle de impresión.

Comentarios

Si hace la paginación durante el tiempo de impresión, puede establecer este miembro como FALSE en la invalidación de CView::OnPrepareDC, una vez que se llega al final del documento. No es necesario modificar esta variable si ha especificado la extensión del documento al inicio del trabajo de impresión mediante una función de miembro SetMaxPage. El miembro m_bContinuePrinting es una variable pública del tipo BOOL.

CPrintInfo::m_bDirect

El marco establece este miembro como TRUE si el cuadro de diálogo IMPRIMIR se omite en la impresión directa, en caso contrario, como FALSE.

Comentarios

El cuadro de diálogo Imprimir se suele omitir cuando se imprime desde el shell o si la impresión se hace mediante el comando ID_FILE_PRINT_DIRECT.

Este miembro no suele cambiarse, pero si lo modifica, hágalo antes de llamar a CView::DoPreparePrinting en la invalidación de CView::OnPreparePrinting.

CPrintInfo::m_bDocObject

Contiene una marca que indica si el documento que se está imprimiendo es un DocObject.

Comentarios

Los miembros de datos m_dwFlags y m_nOffsetPage no son válidos a menos que la marca sea TRUE.

CPrintInfo::m_bPreview

Contiene una marca que indica si el documento se está previsualizando.

Comentarios

El marco lo establece en función del comando que ejecutó el usuario. No se muestra el cuadro de diálogo Imprimir en un trabajo de vista previa de impresión. El miembro m_bPreview es una variable pública del tipo BOOL.

CPrintInfo::m_dwFlags

Contiene una combinación de marcas que especifican operaciones de impresión DocObject.

Comentarios

Es válido solo si el miembro de datos m_bDocObject es TRUE.

Las marcas pueden ser uno o varios de los valores siguientes:

  • PRINTFLAG_MAYBOTHERUSER

  • PRINTFLAG_PROMPTUSER

  • PRINTFLAG_USERMAYCHANGEPRINTER

  • PRINTFLAG_RECOMPOSETODEVICE

  • PRINTFLAG_DONTACTUALLYPRINT

  • PRINTFLAG_FORCEPROPERTIES

  • PRINTFLAG_PRINTTOFILE

CPrintInfo::m_lpUserData

Contiene un puntero a una estructura que ha creado el usuario.

Comentarios

Se puede usar para almacenar datos específicos de impresión que no quiere almacenar en la clase de vista. El miembro m_lpUserData es una variable pública del tipo LPVOID.

CPrintInfo::m_nCurPage

Contiene el número de la página actual.

Comentarios

El marco llama a CView::OnPrepareDC y CView::OnPrint una vez por cada página del documento y especifica en cada ocasión un valor diferente para este miembro. Los valores van desde el valor devuelto por GetFromPage al devuelto por GetToPage. Use este miembro en las invalidaciones de CView::OnPrepareDC e CView::OnPrint para imprimir la página especificada del documento.

Cuando se invoca por primera vez el modo de vista previa, el marco lee el valor de este miembro para determinar qué página del documento se debe obtener en una vista previa inicialmente. Se puede definir el valor de este miembro en la invalidación de CView::OnPreparePrinting para mantener la posición actual del usuario en el documento al entrar en el modo vista previa. El miembro m_nCurPage es una variable pública del tipo UINT.

CPrintInfo::m_nJobNumber

Indica el número de trabajo asignado por el sistema operativo en el trabajo de impresión actual.

Comentarios

Este valor puede ser SP_ERROR si el trabajo todavía no se ha imprimido,(es decir, si el objeto CPrintInfo se acaba de construir y aún no se ha usado para imprimir) o si se produjo un error al iniciar el trabajo.

CPrintInfo::m_nNumPreviewPages

Contiene el número de las páginas que se pueden ver en el modo vista previa, puede ser una o dos.

Comentarios

El miembro m_nNumPreviewPages es una variable pública del tipo UINT.

CPrintInfo::m_nOffsetPage

Contiene el número de las páginas anteriores a la primera página de un elemento determinado DocObject en un trabajo de impresión combinado de DocObject.

CPrintInfo::m_pPD

Contiene un puntero al objeto CPrintDialog que se usa para se vea en el cuadro de diálogo Imprimir del trabajo de impresión.

Comentarios

El miembro m_pPD es una variable pública declarada como puntero a CPrintDialog.

CPrintInfo::m_rectDraw

Especifica el área de dibujo de la página que se puede usar en coordenadas lógicas.

Comentarios

Es posible que quiera hacer referencia a esto en la invalidación de CView::OnPrint. Se puede usar este miembro para realizar un seguimiento del área que queda utilizable después de imprimir encabezados, pies de página, etc. El miembro m_rectDraw es una variable pública del tipo CRect.

CPrintInfo::m_strPageDesc

Contiene una cadena de formato utilizada para mostrar los números de página durante la vista previa de impresión; esta cadena consta de dos subcadenas, una para la presentación de página única y otra para la doble página, terminadas por un carácter '\n'.

Comentarios

El marco tiene "Page %u\nPages %u-%u\n" como valor predeterminado. Si quiere los números de página en un formato distinto, especifique una cadena de formato en la invalidación de CView::OnPreparePrinting. El miembro m_strPageDesc es una variable pública del tipo CString.

CPrintInfo::SetMaxPage

Se llama a esta función para especificar el número de la última página del documento.

void SetMaxPage(UINT nMaxPage);

Parámetros

nMaxPage
El número de la última página del documento.

Comentarios

Este valor se almacena en el objeto CPrintDialog al que hace referencia el miembro m_pPD. Si se conoce la extensión del documento antes de imprimirlo, llame a esta función desde la invalidación de CView::OnPreparePrinting. Si la extensión del documento depende de los valores de configuración especificados en el cuadro de diálogo Imprimir, llame a esta función desde la invalidación de CView::OnBeginPrinting. Si ignora la extensión del documento antes de imprimirse, utilice el miembro m_bContinuePrinting para controlar el bucle de impresión.

Ejemplo

Consulte el ejemplo de CView::OnPreparePrinting.

CPrintInfo::SetMinPage

Se llama a esta función para especificar el número de la primera página del documento.

void SetMinPage(UINT nMinPage);

Parámetros

nMinPage
El número de la primera página del documento.

Comentarios

Los números de página suelen comenzar en 1. Este valor se almacena en el objeto CPrintDialog al que hace referencia el miembro m_pPD.

Consulte también

MFC Sample DIBLOOK
Gráfico de jerarquías
CView::OnBeginPrinting
CView::OnEndPrinting
CView::OnEndPrintPreview
CView::OnPrepareDC
CView::OnPreparePrinting
CView::OnPrint