Kopf- und Fußzeilen
In diesem Artikel wird beschrieben, wie die Kopf- und Fußzeilen einem gedruckten Dokument hinzugefügt wird.
Wenn Sie ein Dokument auf dem Bildschirm berücksichtigen, werden der Name des Dokuments und der aktuelle Position im Dokument im Allgemeinen in einer Titelleiste und in einer Statusleiste angezeigt.Wenn eine gedruckte Kopie eines Dokuments betrachtet, ist es hilfreich, den Namen und die Nummer, die in einem Header oder Footer dargestellt werden.Dies ist eine gängige Methode, in der auch WYSIWYG-Programme unterscheiden, wie sie in Bildschirmanzeige und Druck ausführen.
Die OnPrint-Memberfunktion ist der geeignete Stelle von Headern oder Fußzeilen zu drucken, da sie für jede Seite aufgerufen wird, da sie nur zum Drucken nicht für die Bildschirmanzeige aufgerufen wird.Sie können eine separate Funktion definieren, um einen Header oder Footer ausgegeben und führen sie aus Druckergerätekontext der OnPrint.Möglicherweise müssen Sie den Windows ursprung oder - Block anpassen, bevor Sie OnDraw aufrufen, um zu vermeiden, dass der Text der Seiten aufweisen überschneidung der Kopf- oder der Fußzeile.Sie müssen möglicherweise auch OnDraw ändern, da die Menge des Dokuments, das auf der Seite passt, reduziert werden kann.
Eine Möglichkeit, den Bereich zu kompensieren, der vom Header oder Footer genommen wird, besteht darin, den m_rectDraw-Member von CPrintInfo zu verwenden.Jedes Mal, wenn eine Seite gedruckt wird, wird dieser Member mit dem verwendbaren Bereich der Seite initialisiert.Wenn Sie einen Header oder Footer ausgeben, bevor Sie den Text der Seite drucken, können Sie die Größe des Rechtecks zu reduzieren, das in m_rectDraw gespeichert wird, um den Bereich zu verdeutlichen, der vom Header oder Footer belegt wird.Anschließend kann OnPrintm_rectDraw verweisen, um zu ermitteln, wie viel Bereich für das Drucken von Text der Seite bleibt.
Sie können einen Header oder etwas Anderes, OnPrepareDC nicht drucken, da sie aufgerufen wird, bevor die StartPage-Memberfunktion von CDC aufgerufen wurde.An diesem Punkt wird der Druckergerätekontext betrachtet, in einer Seitengrenze sein.Sie können das Drucken ausschließlich aus der OnPrint-Memberfunktion ausführen.