Como é feita a impressão padrão
Este artigo explica o processo de impressão padrão do Windows em termos de estrutura do MFC.
Em aplicativos do MFC, a classe de modo de exibição tem uma função de membro chamada OnDraw que contém todo o código do desenho.OnDrawleva um ponteiro para um CDC o objeto como um parâmetro.Que CDC objeto representa o contexto de dispositivo para receber a imagem produzida por OnDraw.Quando a janela exibindo o documento recebe um WM_PAINT mensagem, o framework chama OnDraw e passa um contexto de dispositivo para a tela (um CPaintDC objeto seja específico).Portanto, OnDrawsaída vai para a tela.
Na programação do Windows, enviar saída para a impressora é muito semelhante ao envio de saída na tela.Isso ocorre porque o Windows graphics device interface (GDI) é independente de hardware.Você pode usar as mesmas funções GDI para exibição na tela ou para impressão simplesmente usando o contexto de dispositivo apropriado.Se o CDC de objeto que OnDraw recebe representa a impressora OnDrawsaída vai para a impressora.
Isso explica como aplicativos MFC podem realizar a impressão simple sem exigir um esforço extra de sua parte.A estrutura se encarrega de exibir caixa de diálogo Imprimir e criar um contexto de dispositivo para a impressora.Quando o usuário seleciona o comando Imprimir no menu Arquivo, o modo de exibição passa neste contexto de dispositivo OnDraw, que desenha o documento na impressora.
No entanto, existem algumas diferenças significativas entre a impressão e exibição de tela.Quando você imprimir, você precisa dividir o documento em páginas distintas e exibi-los uma vez, em vez de exibir qualquer parte é visível em uma janela.Como resultado, você precisa estar ciente do tamanho do papel (se é um envelope, tamanho ofício ou tamanho carta).Você poderá imprimir em orientações diferentes, como o modo paisagem ou retrato.A biblioteca Microsoft Foundation Class não pode prever como o aplicativo irá lidar com esses problemas, oferece um protocolo para adicionar esses recursos.
Protocolo é descrito no artigo Multipage documentos.