Allocare risorse GDI
Questo articolo illustra come allocare e liberare gli oggetti di Graphics Device Interface (GDI)) windows necessari per la stampa.
[!NOTA]
GDI+ è incluso con Windows XP ed è disponibile come pacchetto ridistribuibile per Windows NT 4.0 SP6, Windows 2000, Windows 98 e Windows Me.Per scaricare la versione più recente del pacchetto ridistribuibile, vedere https://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdkredist.htm.Per ulteriori informazioni, vedere la documentazione SDK in MSDN: https://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdicpp/GDIPlus/GDIPlus.asp.
Si supponga di essere necessario utilizzare determinati tipi di carattere, penne, o altri oggetti GDI per la stampa, ma non per la visualizzazione.A causa della memoria che richiedono, è efficiente da allocare questi oggetti all'avvio di.Quando non venga stampa di un documento, la memoria potrebbe essere necessaria per altri scopi.È preferibile dal programmatore durante la stampa inizia quindi li elimina per la stampa termina.
Per evitare questi oggetti GDI, eseguire l'override della funzione membro di OnBeginPrinting .Questa funzione è particolarmente adatta a questo scopo per due motivi: il framework chiama una volta questa funzione all'inizio di ogni processo di stampa e, a differenza di OnPreparePrinting, questa funzione ha accesso all'oggetto di CDC che rappresenta il driver di periferica della stampante.È possibile archiviare tali oggetti da utilizzare durante il processo di stampa definendo le variabili membro nella classe di visualizzazione che puntano agli oggetti GDI (ad esempio, membri di CFont * , e così via).
Per utilizzare gli oggetti GDI che sono stati creati, selezionare nel contesto di dispositivo della stampante nella funzione membro di OnPrint .Se sono necessari gli oggetti GDI diversi per le pagine diverse del documento, è possibile esaminare il membro di m_nCurPage della struttura di CPrintInfo e selezionare pertanto l'oggetto GDI.Se sono necessari un oggetto GDI per diverse pagine consecutive, le finestre è necessario che lo selezionare nel contesto di dispositivo ogni volta OnPrint essere chiamati.
Per rilasciare questi oggetti GDI, eseguire l'override della funzione membro di OnEndPrinting .Il framework chiama la funzione alla fine di ogni processo di stampa, consentendo così di rimuovere gli oggetti GDI stampa-specifici prima della restituzione di applicazione alle altre attività.
Vedere anche
Riferimenti
Come impostare come valore predefinito la stampa viene effettuata