Partager via


allouer des ressources GDI

Cet article explique comment allouer et libérer les objets de Graphics Device Interface (GDI) Windows nécessaires pour l'impression.

Notes

GDI+ est fourni avec Windows XP et est disponible en tant que redistribution pour Windows NT 4.0 SP 6, Windows 2000, Windows 98 et Windows Me.Pour télécharger la dernière distribution, consultez https://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdkredist.htm.Pour plus d'informations, consultez la documentation de GDI+ Kit de développement logiciel (SDK) dans MSDN : https://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdicpp/GDIPlus/GDIPlus.asp.

Supposons que vous devez utiliser certaines polices, stylos, ou d'autres objets de GDI pour l'impression, mais pas pour l'affichage. A cause de la mémoire dont ils ont besoin, il n'est pas efficace d'allouer ces objets lorsque l'application démarre. Lorsque l'application n'est pas en train d'imprimer un document, cette mémoire peut alors être utilisée pour d'autres applications. Il est préférable de les allouer lorsque l'impression démarre, et ensuite de les supprimer lorsqu'elle se termine.

Pour allouer ces objets GDI, substituez la fonction membre OnBeginPrinting. Cette fonction est bien adaptée à cette fin pour deux raisons : l'environnement appelle cette fonction lorsqu'au début de chaque travail d'impression et, contrairement à OnPreparePrinting, cette fonction a accès à l'objet CDC représentant le pilote de l'imprimante. Vous pouvez stocker les objets pour les utiliser pendant le travail d'impression en affectant les variables membres de la classe d'affichage qui indiquent les objets GDI (par exemple, les membres CFont *, etc.).

Pour utiliser les objets GDI que vous avez créés, sélectionnez les dans le contexte d'impression dans la fonction membre OnPrint. Si vous avez besoin d'autres objets GDI pour différentes pages du document, vous pouvez examiner le membre m_nCurPage de la structure CPrintInfo puis sélectionner l'objet GDI en conséquence. Si vous avez besoin d'un objet GDI pour plusieurs pages consécutives, Windows nécessite que vous sélectionnez dans le contexte chaque fois OnPrint que le périphérique est appelé.

Pour retirer ces objets GDI, substituez la fonction membre OnBeginPrinting. L'environnement appelle cette fonction à la fin de chaque travail d'impression, vous donnant la possibilité de retirer des objets de GDI d'impression- détails avant que l'application ne retourne à d'autres tâches.

Voir aussi

Référence

imprimer

Comment avez par défaut l'impression est faite