CView::OnPreparePrinting
Aufgerufen vom Framework, bevor ein Dokument gedruckt oder in der Vorschau angezeigt wird.
virtual BOOL OnPreparePrinting(
CPrintInfo* pInfo
);
Parameter
- pInfo
Zeigt auf CPrintInfo-Struktur, das den aktuellen Druckauftrag beschreibt.
Rückgabewert
Wert ungleich 0, um das Drucken zu starten, 0 Wenn der Druckauftrag abgebrochen wurde.
Hinweise
Bei der Standardimplementierung wird keine Aktion ausgeführt.
Sie müssen diese Funktion überschreiben, um Drucken und Druckvorschau zu aktivieren.Rufen Sie die Memberfunktion auf DoPreparePrinting und sie übergeben der pInfo-Parameter, und geben Sie dann den Rückgabewert zurück; DoPreparePrinting zeigt das Dialogfeld Drucken an und erstellt einen Druckergerätekontext.Wenn Sie das Dialogfeld Drucken mit Werten als die Standardwerte initialisieren möchten, weisen Sie den Member von pInfo-Werte.Wenn Sie die Länge des Dokuments kennen, übergeben Sie den Wert für die SetMaxPage-Memberfunktion der pInfo, bevor Sie DoPreparePrinting aufrufen.Dieser Wert wird in angezeigt: Feld im Bereichsteil des Druckdialogfeldfelds.
DoPreparePrinting wird nicht das Dialogfeld Drucken für einen Vorschauauftrag an.Wenn Sie das Dialogfeld Drucken für einen Druckauftrag umgehen möchten, überprüfen Sie, ob der m_bPreview-Member von pInfoFALSE und dann festlegen TRUE ist, bevor sie zu DoPreparePrinting übergibt; fügen Sie es zu FALSE danach zurück.
Wenn Sie Initialisierungen ausführen müssen, die Zugriff auf den CDC-Objekt erfordern, das den Druckergerätekontext darstellt (beispielsweise, wenn Sie die Seitengröße wissen müssen, bevor Sie die Länge des Dokuments angeben), überschreiben Sie die OnBeginPrinting-Memberfunktion.
Wenn Sie den Wert der m_nNumPreviewPages oder m_strPageDesc-Member des pInfo-Parameters festlegen möchten, gehen Sie so, nachdem Sie DoPreparePrinting aufgerufen haben.Die DoPreparePrinting-Memberfunktion legt m_nNumPreviewPages auf den Wert fest, der in der INI-Datei der Anwendung gefunden wird und legt m_strPageDesc auf seinen Standardwert fest.
Beispiel
Überschreiben Sie OnPreparePrinting und rufen Sie DoPreparePrinting aus der Überschreibung auf, damit das Framework ein Dialogfeld Drucken angezeigt und einen Druckergerätekontext zu erstellen.
BOOL CMyEditView::OnPreparePrinting(CPrintInfo* pInfo)
{
return CEditView::DoPreparePrinting(pInfo);
}
Wenn Sie wissen, wie viele Seiten das Dokument enthält, legen Sie die maximale Seite in OnPreparePrinting fest, bevor DoPreparePrinting aufgerufen wurde.Das Framework zeigt die Höchstseitenzahl in "zu" Feld des Druckdialogfeldfelds an.
BOOL CExampleView::OnPreparePrinting(CPrintInfo* pInfo)
{
//The document has 2 pages.
pInfo->SetMaxPage(2);
return CView::DoPreparePrinting(pInfo);
}
Anforderungen
Header: afxwin.h