Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo explica o processo de impressão padrão no Windows em termos da estrutura MFC.
Em aplicativos MFC, a classe de exibição tem uma função membro chamada OnDraw que contém todo o código de desenho.
OnDraw usa um ponteiro para um objeto CDC como um parâmetro. Esse CDC objeto representa o contexto do dispositivo para receber a imagem produzida por OnDraw. Quando a janela que exibe o documento recebe uma mensagem WM_PAINT, a estrutura chama OnDraw e passa a ele um contexto de dispositivo para a tela (um objeto CPaintDC, para ser mais preciso). Assim, a saída de OnDraw vai para a tela.
Na programação do Windows, o envio de saída para a impressora é muito semelhante ao envio de saída para a tela. Isso ocorre porque a GDI (interface do dispositivo gráfico) do Windows é independente de hardware. Você pode usar as mesmas funções GDI para exibição de tela ou para impressão simplesmente usando o contexto de dispositivo apropriado. Se o CDC objeto que é recebido por OnDraw representa a impressora, a saída de OnDraw vai para a impressora.
Isso explica como os aplicativos MFC podem executar uma impressão simples sem exigir esforço extra de sua parte. A estrutura cuida da exibição da caixa de diálogo Imprimir e da criação de um contexto de dispositivo para a impressora. Quando o usuário seleciona o comando Imprimir no menu Arquivo, a visualização passa esse contexto de dispositivo para OnDraw, que realiza a impressão do documento na impressora.
No entanto, há algumas diferenças significativas entre impressão e exibição de tela. Ao imprimir, você precisa dividir o documento em páginas distintas e exibi-las uma de cada vez, em vez de exibir qualquer parte visível em uma janela. Como um corolário, você precisa estar ciente do tamanho do papel (seja o tamanho da letra, o tamanho legal ou um envelope). Talvez você queira imprimir em orientações diferentes, como paisagem ou modo retrato. A Biblioteca de Classes do Microsoft Foundation não pode prever como seu aplicativo lidará com esses problemas, portanto, ele fornece um protocolo para você adicionar esses recursos.
Esse protocolo é descrito no artigo Documentos de Várias Páginas.