Share via


CView::OnPreparePrinting

Chiamato dal framework prima che il documento venga stampato o visualizzare in anteprima.

virtual BOOL OnPreparePrinting(
   CPrintInfo* pInfo 
);

Parametri

  • pInfo
    I punti su CPrintInfo struttura che descrive il processo di stampa corrente.

Valore restituito

Diverso da zero per avviare stampa, 0 se il processo di stampa è stato annullato.

Note

L'implementazione predefinita non esegue alcuna operazione.

È necessario eseguire l'override della funzione per consentire la stampa e anteprima di stampa.Chiamare la funzione membro DoPreparePrinting, al parametro pInfo quindi restituisce il valore restituito, DoPreparePrinting visualizzare la finestra di dialogo di stampa e crea un contesto di dispositivo della stampante.Se si desidera inizializzare la finestra di dialogo stampa con valori diversi dalle impostazioni predefinite, assegnare valori ai membri pInfo.Ad esempio, se si conosce la lunghezza del documento, passare il valore alla funzione membro SetMaxPagepInfo prima di chiamare DoPreparePrinting.Questo valore viene visualizzato in: casella nella parte dell'intervallo finestra di dialogo di stampa.

DoPreparePrinting non viene visualizzata la finestra di dialogo di stampa per un processo di anteprima.Se si desidera ignorare la finestra di dialogo di stampa per un processo di stampa, verificare che il membro m_bPreviewpInfo sia FALSE quindi presentato a TRUE passarlo a DoPreparePrinting; reimpostilo in seguito a FALSE.

Se è necessario eseguire le inizializzazioni che richiedono l'accesso all'oggetto CDC che rappresenta il contesto di dispositivo della stampante (ad esempio, se è necessario conoscere le dimensioni della pagina prima di specificare la lunghezza di documento), eseguire l'override della funzione membro OnBeginPrinting.

Se si desidera impostare il valore dei membri m_strPageDesc o m_nNumPreviewPages del parametro pInfo, eseguire questa operazione dopo aver chiamato DoPreparePrinting.Imposta m_nNumPreviewPages di funzione membro DoPreparePrinting al valore trovato nel file di .INI dell'applicazione e set m_strPageDesc il valore predefinito.

Esempio

Eseguire l'override OnPreparePrinting e chiamare DoPreparePrinting da un override in modo che il framework visualizzare una finestra di dialogo di stampa e creare un controller di dominio della stampante automaticamente.

BOOL CMyEditView::OnPreparePrinting(CPrintInfo* pInfo)
{
   return CEditView::DoPreparePrinting(pInfo);
}

Se si conosce il numero di pagine il documento contiene, verifica la pagina massima in OnPreparePrinting chiamare DoPreparePrinting.Il framework visualizza il numero di pagina massimo in "nella casella della finestra di dialogo stampa.

BOOL CExampleView::OnPreparePrinting(CPrintInfo* pInfo)
{
   //The document has 2 pages.
   pInfo->SetMaxPage(2);
   return CView::DoPreparePrinting(pInfo);
}

Requisiti

Header: afxwin.h

Vedere anche

Riferimenti

Classe di modello CView

Grafico della gerarchia

Struttura di CPrintInfo

CView::DoPreparePrinting

CView::OnBeginPrinting

CView::OnPrepareDC

CView::OnPrint