Freigeben über


Funktionsweise des Standarddrucks

In diesem Artikel wird der Standarddruckprozess in Windows im Hinblick auf das MFC-Framework erläutert.

In MFC-Anwendungen weist die Ansichtsklasse eine Memberfunktion auf OnDraw , die den gesamten Zeichnungscode enthält. OnDraw verwendet einen Zeiger auf ein CDC-Objekt als Parameter. Dieses CDC Objekt stellt den Gerätekontext dar, um das von OnDraw. Wenn das Fenster, in dem das Dokument angezeigt wird, eine WM_PAINT Nachricht empfängt, ruft das Framework ihn auf OnDraw und übergibt es einen Gerätekontext für den Bildschirm (ein CPaintDC-Objekt , um spezifisch zu sein). OnDrawDementsprechend wechselt die Ausgabe auf den Bildschirm.

Bei der Programmierung für Windows ähnelt das Senden der Ausgabe an den Drucker dem Senden der Ausgabe an den Bildschirm. Dies liegt daran, dass die Windows-Grafikgeräteschnittstelle (GDI) hardwareunabhängig ist. Sie können die gleichen GDI-Funktionen für die Bildschirmanzeige oder für den Druck verwenden, indem Sie einfach den entsprechenden Gerätekontext verwenden. Wenn das CDC Objekt, das OnDraw den Drucker empfängt, darstellt, OnDrawwird die Ausgabe an den Drucker gesendet.

Dies erklärt, wie MFC-Anwendungen einfaches Drucken ausführen können, ohne dass sie zusätzlichen Aufwand auf Ihrem Teil erfordern. Das Framework übernimmt die Anzeige des Dialogfelds "Drucken" und das Erstellen eines Gerätekontexts für den Drucker. Wenn der Benutzer im Menü "Datei" den Befehl "Drucken" auswählt, übergibt die Ansicht diesen Gerätekontext OnDraw, an den das Dokument auf dem Drucker bezieht.

Es gibt jedoch einige wesentliche Unterschiede zwischen dem Drucken und der Bildschirmanzeige. Wenn Sie drucken, müssen Sie das Dokument in unterschiedliche Seiten unterteilen und jeweils einzeln anzeigen, anstatt den in einem Fenster sichtbaren Teil anzuzeigen. Als Koroller müssen Sie sich der Größe des Papiers bewusst sein (unabhängig davon, ob es sich um ein Briefformat, eine gesetzliche Größe oder einen Umschlag handelt). Möglicherweise möchten Sie in unterschiedlichen Ausrichtungen drucken, z. B. Im Quer- oder Hochformatmodus. Die Microsoft Foundation-Klassenbibliothek kann nicht vorhersagen, wie Ihre Anwendung diese Probleme behandelt, sodass sie ein Protokoll bereitstellt, mit dem Sie diese Funktionen hinzufügen können.

Dieses Protokoll wird im Artikel "Mehrseitige Dokumente" beschrieben.

Siehe auch

Es wird gedruckt