Programmieren unter MS-Windows

Kapitel 13: Drucken unter Windows

Letzte Änderung: 2.11.97 von B. Tritsch

Überblick

Zurück zum Index "PC- und MS-Windows-Support"

Zurück zum Inhalt


Vorbemerkungen zum Drucken

Programme, die für Windows geschrieben sind, sollten ihre Informationen in einer Hardware-unabhängigen Weise anzeigen. Dies läßt sich auch auf Drucker ausweiten, die ihre Ausgabe über einen Device Context realisieren (ebenso wie die Bildschirmausgabe). Die Document/View-Architektur und die MFC-Klassenbibliothek machen es einfach, Ausdrucke in einem Windows-Programm zu realisieren. Man kann die Common Print Dialogbox benutzen und die View-Funktionen für das Darstellen von Informationen auf dem Bildschirm wiederverwenden.

Schon in Standard-C ist es durch entsprechende Windows-API-Funktionen recht einfach die Unterstützung von Drucker in Anwendungsprogramme zu integrieren. Dies ist im wesentlichen bedingt durch das Konzept der Context Devices. Mit der MFC-Klassenbibliothek ist die Anbindung von Druckern beihnahe eine Trivialität.

Drucken mit der MFC

Verwendet die zu erstellende Anwendung die Document/View-Architektur, muß man möglicherweise gar nichts tun, um Basisfunktionalitäten für das Ausdrucken zu erhalten. Die Verwendung der OnDraw Member-Funktion eröffnet eine einfache Möglichkeit, um auf die Hardware-Unabhängigkeit zuzugreifen. Ist der Code portabel genug, um auf verschiedenen Graphikkarten ausführbar zu sein, so sollte auch das Ausdrucken auf den meisten von Windows unterstützen Druckern zu annehmbaren Ergebnissen führen.

Auf der anderen Seite gibt es sicherlich Gründe, warum man in die Druckfunktionalitäten eingreifen können sollte. Möglicherweise ist der View ein Form View und die Daten sollen in einer anderen Form ausgedruckt werden, z.B. als Liste. Paßt man die View-Funktionen an, die Verantwortlich für das Drucken sind, dann kann man auch interessante Elemente wie Kopf- und Fußzeilen sowie Seitennumerierung oder spezielle Fonts verwenden. Aus diesem Grund sollen im folgenden die wesentlichen Druckfunktionen der CView-Klasse aufgeführt werden.

Erzeugt der AppWizard eine View-Klasse für ein Programm, werden die Funktionen OnPreparePrinting, OnBeginPrinting und OnEndPrinting automatisch generiert und zur Verfügung gestellt.

Zum nächsten Kapitel