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 mirar un documento en la pantalla, el nombre del documento y la ubicación actual del documento se muestran normalmente 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. Se trata de una forma común en la que incluso los programas WYSIWYG difieren en cómo realizan la impresión y la pantalla.

La función miembro OnPrint es el lugar adecuado para imprimir encabezados o pies de página porque se llama para cada página y porque se llama solo para imprimir, no para la pantalla. Puede definir una función independiente para imprimir un encabezado o pie de página y pasarle el contexto del 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. Es posible que también tenga que modificarse OnDraw porque se podría reducir la cantidad del documento que se ajusta a 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ánto área permanece para imprimir el cuerpo de la página.

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

¿Qué quieres saber más sobre

Consulte también

Impresión