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