Partilhar via


Atribuição de recursos GDI

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 na tela. Devido à memória que eles exigem, é 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 outros fins. É melhor alocá-los quando a impressão começar e, em seguida, excluí-los quando a impressão terminar.

Para alocar esses objetos GDI, redefina a função de membro OnBeginPrinting. Esta função é adequada para este propósito 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, esta função tem acesso ao objeto CDC que representa o driver de dispositivo da 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 criaste, seleciona-os no contexto de dispositivo da 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 de acordo. Se precisar de um objeto GDI para várias páginas consecutivas, o Windows exige que o selecione no contexto do dispositivo sempre que OnPrint for chamado.

Para desalocar esses objetos GDI, substitua o método membro OnEndPrinting. A estrutura chama essa função no final de cada trabalho de impressão, dando a você a oportunidade de desalocar objetos GDI específicos de impressão antes que o aplicativo retorne a outras tarefas.

Ver também

Impressão
Como é feita a impressão padrão