Compartir a través de


Encabezados y pies de página

En este artículo, se explica cómo agregar encabezados y pies de página a un documento impreso.

Al examinar un documento en la pantalla, el nombre del documento y su ubicación actual en el documento se suelen mostrar en una barra de título y una barra de estado. Al examinar una copia impresa de un documento, resulta útil tener el nombre y el número de página que se muestran en un encabezado o pie de página. Este es un punto común en el que incluso los programas WYSIWYG difieren en la manera en que se imprimen y se muestran en la pantalla.

La función miembro OnPrint es el lugar adecuado para imprimir encabezados o pies de página porque se la llama para cada página y porque se la llama solo para imprimir, no para la visualización en pantalla. Puede definir una función independiente para imprimir un encabezado o pie de página y pasarle el contexto de dispositivo de impresora desde OnPrint. Es posible que tenga que ajustar el origen o la extensión de la ventana antes de llamar a OnDraw para evitar que el cuerpo de la página se superponga al encabezado o pie de página. También es posible que tenga que modificar OnDraw, porque se podría reducir la cantidad del documento que se ajusta en la página.

Una manera de compensar el área tomada por el encabezado o pie de página es usar el miembro m_rectDraw de CPrintInfo. Cada vez que se imprime una página, este miembro se inicializa con el área utilizable de la página. Si imprime un encabezado o pie de página antes de imprimir el cuerpo de la página, puede reducir el tamaño del rectángulo almacenado en m_rectDraw para tener en cuenta el área tomada por el encabezado o pie de página. A continuación, OnPrint puede hacer referencia a m_rectDraw para averiguar cuánta área queda para imprimir el cuerpo de la página.

No se puede imprimir un encabezado, ni nada más, desde OnPrepareDC, porque se llama antes de llamar a la función miembro StartPage de CDC. En ese momento, el contexto de dispositivo de impresora se considera que está en un límite de página. Solo puede realizar la impresión desde la función miembro OnPrint.

Qué más quieres saber

Consulte también

Impresión