Alocando recursos GDI
Este artigo explica como alocar e desalocar os objetos de interface (GDI) do Windows gráficos dispositivo necessários para a impressão.
Observação: |
---|
GDI + está incluído no Windows XP e está disponível sistema autônomo um redistribuível para Windows NT 4.0 SP6, Windows 2000, Windows 98 e Windows Me.Para fazer o baixar mais recente redistribuível, consulte https://www.Microsoft.com/msdownload/platformsdk/sdkupdate/psdkredist.htm.Para obter mais informações, consulte a documentação do GDI + SDK no MSDN: https://msdn.Microsoft.com/biblioteca/padrão.asp?url=/biblioteca/en-US/gdicpp/GDIPlus/GDIPlus.ASP. |
Suponha que você precisa usar determinadas fontes, canetas ou outros objetos GDI para impressão, mas não para exibição na tela.Devido à memória exigem, é ineficiente para alocar esses objetos quando o aplicativo é iniciado.Quando o aplicativo não estiver imprimindo um documento, que a memória deve ser necessária para Outros fins.É melhor alocá-las quando a impressão começa e, em seguida, excluí-los durante a impressão termina.
Esses objetos GDI, alocar substituir o OnBeginPrintingfunção de membro .Esta função é bastante adequada para esta finalidade por dois motivos: a estrutura chama esta função de uma vez no início de cada trabalho de impressão e, ao contrário de OnPreparePrinting, esta função tem acesso à CDC objeto que representa o driver de dispositivo de impressora.Você pode armazenar esses objetos para uso durante o trabalho de impressão, definindo as variáveis de membro em sua classe de modo que apontem para objetos GDI (por exemplo, CFont * membros e assim por diante).
Para usar os objetos GDI que você criou, selecionar-os no contexto de dispositivo de impressora no AoImprimirfunção de membro .Se você precisar de objetos GDI diferentes para diferentes páginas do documento, você pode examinar o m_nCurPage membro de CPrintInfo estrutura e selecionar a GDI objeto adequadamente.Se você precisar de um objeto GDI para várias páginas consecutivas, o Windows requer que você selecioná-lo para o contexto de dispositivo de cada time OnPrint é chamado.
Para desalocar esses objetos GDI, substitua o OnEndPrintingfunção de membro .A estrutura chama esta função no participante de cada trabalho de impressão, dando a você a oportunidade de desalocar objetos GDI de impressão específicas antes do aplicativo retornará a outras tarefas.