Partager via


Allouer des ressources GDI

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

[!REMARQUE]

GDI+ est fourni avec Windows XP et est disponible en tant que redistribuable pour Windows NT 4,0 SP6, Windows 2000, Windows 98, et Windows Millenium Edition.Pour télécharger le dernier redistribuable, consultez https://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdkredist.htm.Pour plus d'informations, consultez la documentation du Kit de développement GDI+ SDK dans MSDN : https://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdicpp/GDIPlus/GDIPlus.asp.

Supposons que vous devoir utiliser certaines polices, des stylets, ou d'autres objets GDI pour imprimer, mais pas pour l'écran.En raison de la mémoire appropriées, il n'est pas judicieux pour allouer ces objets au démarrage de l'application.Lorsque l'application n'imprime pas un document, cette mémoire peut être nécessaire à d'autres fins.Il est préférable de les allouer lorsque imprimer démarre, puis les supprime de l'impression se termine.

Pour allouer ces objets GDI, substituez la fonction membre d' OnBeginPrinting .Cette fonction est bien adaptée à cet objectif pour deux raisons : l'infrastructure appelle cette fonction lorsqu'au début de chaque travail d'impression et, contrairement à OnPreparePrinting, cette fonction a accès à l'objet de CDC représentant le pilote de périphérique d'impression.Vous pouvez enregistrer ces objets pour une utilisation pendant le travail d'impression en définissant des variables membres dans votre classe d'affichage qui indiquent GDI des objets (par exemple, les membres de CFont * , etc.).

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

Pour libérer ces objets GDI, substituez la fonction membre d' OnEndPrinting .L'infrastructure appelle cette fonction à la fin de chaque travail d'impression, ce qui vous permet de récupérer des objets de GDI d'impression-détail avant que l'application revienne à d'autres tâches.

Voir aussi

Référence

Impression

Comment avez par défaut l'impression est faite