Cabeçalhos e rodapés
Este artigo explica como adicionar cabeçalhos e rodapés a um documento impresso.
Quando você examinar um documento na tela, o nome do documento e seu local atual no documento normalmente são exibidos em uma barra de título e uma barra de status.Ao observar uma cópia impressa de um documento, é útil ter o nome e número da página mostrado em um cabeçalho ou rodapé.Essa é uma maneira comum no qual WYSIWYG mesmo programas diferem em como realizam impressão e exibição de tela.
O AoImprimir função de membro é o local adequado para Imprimir cabeçalhos ou rodapés é chamado para cada página e é chamado somente para impressão, não para exibição na tela.Você pode definir uma função distinta para imprimir um cabeçalho ou rodapé e passar o contexto de dispositivo de impressora OnPrint.Talvez você precise ajustar a origem da janela ou extensão antes de chamar OnDraw para evitar que o corpo de sobreposição da página no cabeçalho ou rodapé.Talvez você precise modificar OnDraw porque a quantidade de documento que couber na página poderia ser reduzida.
Uma maneira de compensar a área tomada pelo cabeçalho ou rodapé é usar o m_rectDraw membro do CPrintInfo.Cada vez que uma página é impresso, 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, você pode reduzir o tamanho do retângulo armazenado em m_rectDraw para a área tomada pelo cabeçalho ou rodapé.Em seguida, OnPrint consulte m_rectDraw para descobrir quanto área permanece para a impressão do corpo da página.
Você não pode imprimir um cabeçalho ou qualquer outra coisa, de OnPrepareDC, porque ele é chamado antes do StartPage função de membro CDC foi chamado.Nesse ponto, o contexto de dispositivo de impressora é considerado em um limite de página.Você pode realizar a impressão a partir de apenas o OnPrint função de membro.