Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird erläutert, wie Sie die zum Drucken benötigten Objekte der Windows-Grafikgeräteschnittstelle (GDI) zuordnen und verwalten.
Hinweis
Weitere Informationen finden Sie in der GDI+ SDK-Dokumentation.
Angenommen, Sie müssen bestimmte Schriftarten, Stifte oder andere GDI-Objekte zum Drucken verwenden, aber nicht für die Bildschirmanzeige. Aufgrund des benötigten Arbeitsspeichers ist es ineffizient, diese Objekte zuzuweisen, wenn die Anwendung gestartet wird. Wenn die Anwendung kein Dokument druckt, kann dieser Speicher für andere Zwecke benötigt werden. Es ist besser, sie zuzuordnen, wenn der Druck beginnt, und löschen Sie sie dann, wenn der Druck endet.
Um diese GDI-Objekte zuzuweisen, überschreiben Sie die Mitgliedsfunktion OnBeginPrinting. Diese Funktion eignet sich aus zwei Gründen gut für diesen Zweck: Das Framework ruft diese Funktion einmal am Anfang jedes Druckauftrags auf, und im Gegensatz zu OnPreparePrinting hat diese Funktion Zugriff auf das CDC-Objekt , das den Druckergerätetreiber darstellt. Sie können diese Objekte für die Verwendung während des Druckauftrags speichern, indem Sie Membervariablen in Ihrer Ansichtsklasse definieren, die auf GDI-Objekte verweisen (z. B. CFont *
-Member und so weiter).
Um die von Ihnen erstellten GDI-Objekte zu verwenden, wählen Sie sie in der OnPrint-Memberfunktion in den Druckergerätekontext aus. Wenn Sie unterschiedliche GDI-Objekte für verschiedene Seiten des Dokuments benötigen, können Sie das m_nCurPage
Element der CPrintInfo-Struktur untersuchen und das GDI-Objekt entsprechend auswählen. Wenn Sie ein GDI-Objekt für mehrere aufeinanderfolgende Seiten benötigen, müssen Sie es bei jedem Aufrufen von OnPrint
in den Gerätekontext wählen.
Um diese GDI-Objekte freizugeben, überschreiben Sie die Member-Funktion OnEndPrinting. Das Framework ruft diese Funktion am Ende jedes Druckauftrags auf, sodass Sie die Möglichkeit haben, druckspezifische GDI-Objekte zu verlagern, bevor die Anwendung zu anderen Aufgaben zurückkehrt.