Cabeçalhos e rodapés
Este artigo explica como adicionar cabeçalhos e rodapés para um documento impresso.
Quando você examina um documento na tela, o nome do documento e seu local atual no documento são exibidos normalmente na 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 forma comum em mesmo que os programas de WYSIWYG diferem em execução como ótica a visualização de impressão e.
A função de membro de OnPrint é o local apropriado para imprimir cabeçalhos ou rodapés porque é chamada para cada página, e porque é chamada somente imprimindo, não para a visualização ótica. Você pode definir uma função separada para imprimir um cabeçalho ou rodapé, e transfira o contexto do dispositivo de impressora de OnPrint. 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 sobreposição do cabeçalho ou rodapé. Você também pode precisar alterar OnDraw porque a quantidade de documento que se ajusta na página pudesse ser reduzida.
Uma maneira de compensar a área do cabeçalho ou o rodapé é usar o membro de m_rectDraw de CPrintInfo. Cada vez que uma página é impressa, este membro está inicializado com a área utilizável da página. Se você imprime um cabeçalho ou rodapé antes que imprimir o corpo da página, você pode reduzir o tamanho do retângulo armazenado em m_rectDraw para a conta para a área do cabeçalho ou o rodapé. Em OnPrint pode se referir a m_rectDraw para saber quanto a área permanece imprimindo o corpo da página.
Você não pode imprimir um cabeçalho, ou qualquer outra coisa, de OnPrepareDC, porque é chamado antes que a função de membro de StartPage de CDC seja chamada. Nesse ponto, o contexto do dispositivo de impressora é considerado estar em um limite de página. Você pode executar somente imprimir da função de membro de OnPrint .