Freigeben über


CView::OnPrint

Aufgerufen vom Framework, um eine Seite des Dokuments gedruckt oder in der Vorschau anzeigen.

virtual void OnPrint( 
   CDC* pDC, 
   CPrintInfo* pInfo  
);

Parameter

  • pDC
    Zeigt auf Druckergerätekontext.

  • pInfo
    Zeigt auf CPrintInfo-Struktur, das den aktuellen Druckauftrag beschreibt.

Hinweise

Für jede Seite, die ausgegeben wird, ruft das Framework diese Funktion sofort nach dem Aufrufen der OnPrepareDC-Memberfunktion auf. Die Seite, die gedruckt wird, wird vom m_nCurPage-Member der Struktur CPrintInfo angegeben, dass pInfo auf zeigt. Die Standardimplementierung ruft die OnDraw-Memberfunktion auf und übergibt sie der Druckergerätekontext.

Überschreiben Sie diese Funktion für die folgenden Gründen:

  • So Drucken von mehrseitigen Dokumenten ermöglichen. Rendern Sie nur den Teil des Dokuments, das der Seite entspricht, die derzeit gedruckt wird. Wenn Sie OnDraw verwenden, um das Rendern auszuführen, können Sie den Viewportursprung angepasst werden, dass nur der entsprechende Teil des Dokuments gedruckt wird.

  • Um das Bild gedruckte auszuführen finden Sie in den Bildschirmaufnahme unterschiedlich (das heißt, wenn die Anwendung nicht WYSIWYG ist). Anstatt, den Druckergerätekontext zu OnDraw zu übergeben, verwenden Sie den Gerätekontext, um ein Bild mithilfe von Attributen gerendert werden, die nicht auf dem Bildschirm angezeigt werden.

    Wenn Sie GDI-Ressourcen für das Drucken dieses verwenden Sie nicht für Bildschirmanzeige, wählen Sie sie in den Gerätekontext benötigen, bevor Sie zeichnen und wählen Sie sie später ab. Diese GDI-Ressourcen sollten in OnBeginPrinting zugeordnet und in OnEndPrinting freigegeben werden.

  • So Kopf- oder Fußzeilen implementieren. Sie können OnDraw trotzdem verwenden, um das Rendern zu tun, indem Sie den Bereich begrenzen an, mit dem er gedruckt werden kann.

Beachten Sie, dass der m_rectDraw-Member des Parameters pInfo druckbaren den Bereich der Seite in logischen Einheiten beschreibt.

Rufen Sie nicht OnPrepareDC in der Überschreibung von OnPrint auf; ruft das Framework OnPrepareDC automatisch auf, bevor OnPrint aufruft.

Beispiel

Im Folgenden ist ein Skelett für eine überschriebene OnPrint-Funktion:

void CMyView::OnPrint(CDC *pDC, CPrintInfo *pInfo)
{
   UNREFERENCED_PARAMETER(pInfo);

   // Print headers and/or footers, if desired. 
   // Find portion of document corresponding to pInfo->m_nCurPage.
   OnDraw(pDC);
}

Ein weiteres Beispiel finden Sie unter CRichEditView::PrintInsideRect.

Anforderungen

Header: afxwin.h

Siehe auch

Referenz

CView-Klasse

Hierarchiediagramm

CView::OnBeginPrinting

CView::OnEndPrinting

CView::OnPrepareDC

CView::OnDraw