Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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 de membro chamada OnDraw que contém todo o código de desenho.
OnDraw usa um ponteiro para um objeto CDC como parâmetro. Esse CDC objeto representa o contexto do dispositivo para receber a imagem produzida pelo OnDraw. Quando a janela que exibe o documento recebe uma mensagem WM_PAINT , a estrutura chama OnDraw e passa um contexto de dispositivo para a tela (um objeto CPaintDC , para ser específico). Assim, a saída de OnDraw vai para o ecrã.
Na programação para Windows, enviar saída para a impressora é muito semelhante a enviar saída para a tela. Isso ocorre porque a interface de dispositivo gráfico (GDI) 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 apropriado do dispositivo. Se o CDC objeto que OnDraw recebe representa a impressora, a saída de OnDraw vai para a impressora.
Isto explica como as aplicações MFC podem realizar uma impressão simples sem exigir esforço adicional da sua parte. A estrutura se encarrega de exibir a caixa de diálogo Imprimir e criar um contexto de dispositivo para a impressora. Quando o utilizador seleciona o comando Imprimir no menu Arquivo, a visualização passa o contexto de dispositivo para OnDraw, que desenha o documento na impressora.
No entanto, existem algumas diferenças significativas entre impressão e exibição no ecrã. Ao imprimir, você tem que 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 corolário, você tem que estar ciente do tamanho do papel (se é tamanho da letra, tamanho legal ou um envelope). Você pode querer imprimir em diferentes orientações, como modo paisagem ou retrato. A Microsoft Foundation Class Library não pode prever como seu aplicativo lidará com esses problemas, portanto, fornece um protocolo para você adicionar esses recursos.
Esse protocolo é descrito no artigo Documentos de várias páginas.