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 como alocar e desalocar os objetos GDI (interface de dispositivo gráfico) do Windows necessários para impressão.
Observação
Para obter mais informações, consulte a documentação do SDK do GDI+.
Suponha que você precise usar determinadas fontes, canetas ou outros objetos GDI para impressão, mas não para exibição de tela. Devido à memória necessária, é ineficiente alocar esses objetos quando o aplicativo é iniciado. Quando o aplicativo não está imprimindo um documento, essa memória pode ser necessária para outras finalidades. É melhor alocá-los quando a impressão começar e excluí-las quando a impressão terminar.
Para alocar esses objetos GDI, substitua a função de membro OnBeginPrinting. Essa função é adequada para essa finalidade por dois motivos: a estrutura chama essa função uma vez no início de cada trabalho de impressão e, ao contrário de OnPreparePrinting, essa função tem acesso ao objeto CDC que representa o driver do dispositivo de impressora. Você pode armazenar esses objetos para uso durante o trabalho de impressão definindo variáveis de membro em sua classe de exibição que apontam para objetos GDI (por exemplo, CFont * membros e assim por diante).
Para usar os objetos GDI que você criou, selecione-os no contexto do dispositivo de impressora na função membro OnPrint . Se você precisar de objetos GDI diferentes para páginas diferentes do documento, poderá examinar o m_nCurPage membro da estrutura CPrintInfo e selecionar o objeto GDI adequadamente. Se você precisar de um objeto GDI para várias páginas consecutivas, o Windows exige que você o selecione no contexto do dispositivo sempre que OnPrint for chamado.
Para desalocar esses objetos GDI, substitua a função membro OnBeginPrinting. A estrutura chama essa função no final de cada trabalho de impressão, oferecendo a oportunidade de desalocar objetos GDI específicos de impressão antes que o aplicativo retorne a outras tarefas.