Compartilhar via


Cabeçalhos e rodapés

Este artigo explica como adicionar cabeçalhos e rodapés a um documento impresso.

Quando você olha para um documento na tela, o nome do documento e sua localização atual no documento geralmente são exibidos em uma barra de título e em uma barra de status. Ao examinar uma cópia impressa de um documento, é útil ter o nome e o número da página mostrados em um cabeçalho ou rodapé. Essa é uma maneira comum em que até mesmo os programas WYSIWYG diferem em como eles executam impressão e exibição de tela.

A função membro OnPrint é o local apropriado para imprimir cabeçalhos ou rodapés porque é chamada para cada página e porque é chamada apenas para impressão, não para exibição de tela. Você pode definir uma função separada para imprimir um cabeçalho ou rodapé e passá-la do contexto do dispositivo de OnPrintimpressora. Talvez seja necessário ajustar a origem ou a extensão da janela antes de chamar OnDraw para evitar que o corpo da página se sobreponha ao cabeçalho ou rodapé. Talvez você também precise modificar OnDraw porque a quantidade do documento que se encaixa na página pode ser reduzida.

Uma maneira de compensar a área tomada pelo cabeçalho ou rodapé é usar o membro m_rectDraw do CPrintInfo. Sempre que uma página é impressa, esse membro é inicializado com a área utilizável da página. Se você imprimir um cabeçalho ou rodapé antes de imprimir o corpo da página, poderá reduzir o tamanho do retângulo armazenado em m_rectDraw para considerar a área tomada pelo cabeçalho ou rodapé. Em seguida, OnPrint pode consultar m_rectDraw para descobrir a quantidade de área restante para imprimir o corpo da página.

Você não pode imprimir um cabeçalho, ou qualquer outra coisa, do OnPrepareDC, porque ele é chamado antes StartPage da função membro do CDC ter sido chamada. Nesse ponto, o contexto do dispositivo da impressora é considerado um limite de página. Você só pode executar impressão na OnPrint função de membro.

O que você quer saber mais sobre

Consulte também

Impressão