Struttura CPrintInfo

Archivia informazioni su un processo di stampa o anteprima di stampa.

Sintassi

struct CPrintInfo

Membri

Metodi pubblici

Nome Descrizione
CPrintInfo::GetFromPage Restituisce il numero della prima pagina da stampare.
CPrintInfo::GetMaxPage Restituisce il numero dell'ultima pagina del documento.
CPrintInfo::GetMinPage Restituisce il numero della prima pagina del documento.
CPrintInfo::GetOffsetPage Restituisce il numero di pagine che precedono la prima pagina di un elemento DocObject stampato in un processo di stampa DocObject combinato.
CPrintInfo::GetToPage Restituisce il numero dell'ultima pagina stampata.
CPrintInfo::SetMaxPage Imposta il numero dell'ultima pagina del documento.
CPrintInfo::SetMinPage Imposta il numero della prima pagina del documento.

Membri dati pubblici

Nome Descrizione
CPrintInfo::m_bContinuePrinting Contiene un flag che indica se il framework deve continuare il ciclo di stampa.
CPrintInfo::m_bDirect Contiene un flag che indica se il documento viene stampato direttamente (senza visualizzare la finestra di dialogo Stampa).
CPrintInfo::m_bDocObject Contiene un flag che indica se il documento da stampare è un DocObject.
CPrintInfo::m_bPreview Contiene un flag che indica se il documento è in anteprima.
CPrintInfo::m_dwFlags Specifica le operazioni di stampa DocObject.
CPrintInfo::m_lpUserData Contiene un puntatore a una struttura creata dall'utente.
CPrintInfo::m_nCurPage Identifica il numero della pagina attualmente stampata.
CPrintInfo::m_nJobNumber Specifica il numero di processo assegnato dal sistema operativo per il processo di stampa corrente
CPrintInfo::m_nNumPreviewPages Identifica il numero di pagine visualizzate nella finestra di anteprima; 1 o 2.
CPrintInfo::m_nOffsetPage Specifica l'offset della prima pagina di un determinato DocObject in un processo di stampa DocObject combinato.
CPrintInfo::m_pPD Contiene un puntatore all'oggetto CPrintDialog utilizzato per la finestra di dialogo Stampa.
CPrintInfo::m_rectDraw Specifica un rettangolo che definisce l'area di pagina utilizzabile corrente.
CPrintInfo::m_strPageDesc Contiene una stringa di formato per la visualizzazione del numero di pagina.

Osservazioni:

CPrintInfo è una struttura e non dispone di una classe di base.

Il framework crea un oggetto di CPrintInfo ogni volta che viene scelto il comando Stampa o Anteprima di stampa e lo elimina al termine del comando.

CPrintInfo contiene informazioni sul processo di stampa nel suo complesso, ad esempio l'intervallo di pagine da stampare, e lo stato corrente del processo di stampa, ad esempio la pagina attualmente stampata. Alcune informazioni vengono archiviate in un oggetto CPrintDialog associato. Questo oggetto contiene i valori immessi dall'utente nella finestra di dialogo Stampa.

Un CPrintInfo oggetto viene passato tra il framework e la classe di visualizzazione durante il processo di stampa e viene usato per scambiare informazioni tra i due. Ad esempio, il framework informa la classe di visualizzazione della pagina del documento da stampare assegnando un valore al m_nCurPage membro di CPrintInfo. La classe di visualizzazione recupera il valore ed esegue la stampa effettiva della pagina specificata.

Un altro esempio è il caso in cui la lunghezza del documento non è nota fino a quando non viene stampata. In questo caso, la classe di visualizzazione verifica la fine del documento ogni volta che viene stampata una pagina. Quando viene raggiunta la fine, la classe view imposta il m_bContinuePrinting membro di CPrintInfo su FALSE. In questo modo il framework viene informato di arrestare il ciclo di stampa.

CPrintInfoviene usato dalle funzioni membro di CView elencate in "Vedere anche". Per altre informazioni sull'architettura di stampa fornita dalla libreria di classi Microsoft Foundation, vedere Architettura di finestre cornice e documento/visualizzazione e gli articoli Stampa e stampa: Documenti a più pagine.

Gerarchia di ereditarietà

CPrintInfo

Requisiti

Intestazione: afxext.h

CPrintInfo::GetFromPage

Chiamare questa funzione per recuperare il numero della prima pagina da stampare.

UINT GetFromPage() const;

Valore restituito

Numero della prima pagina da stampare.

Osservazioni:

Si tratta del valore specificato dall'utente nella finestra di dialogo Stampa e archiviato nell'oggetto CPrintDialog a cui fa riferimento il m_pPD membro. Se l'utente non ha specificato un valore, il valore predefinito è la prima pagina del documento.

CPrintInfo::GetMaxPage

Chiamare questa funzione per recuperare il numero dell'ultima pagina del documento.

UINT GetMaxPage() const;

Valore restituito

Numero dell'ultima pagina del documento.

Osservazioni:

Questo valore viene archiviato nell'oggetto CPrintDialog a cui fa riferimento il m_pPD membro.

CPrintInfo::GetMinPage

Chiamare questa funzione per recuperare il numero della prima pagina del documento.

UINT GetMinPage() const;

Valore restituito

Numero della prima pagina del documento.

Osservazioni:

Questo valore viene archiviato nell'oggetto CPrintDialog a cui fa riferimento il m_pPD membro.

CPrintInfo::GetOffsetPage

Chiamare questa funzione per recuperare l'offset durante la stampa di più elementi DocObject da un client DocObject.

UINT GetOffsetPage() const;

Valore restituito

Numero di pagine che precedono la prima pagina di un elemento DocObject stampato in un processo di stampa DocObject combinato.

Osservazioni:

Questo valore viene fatto riferimento dal m_nOffsetPage membro . La prima pagina del documento verrà numerata il m_nOffsetPage valore + 1 quando viene stampato come DocObject con altri documenti attivi. Il m_nOffsetPage membro è valido solo se il m_bDocObject valore è TRUE.

CPrintInfo::GetToPage

Chiamare questa funzione per recuperare il numero dell'ultima pagina da stampare.

UINT GetToPage() const;

Valore restituito

Numero dell'ultima pagina da stampare.

Osservazioni:

Si tratta del valore specificato dall'utente nella finestra di dialogo Stampa e archiviato nell'oggetto CPrintDialog a cui fa riferimento il m_pPD membro. Se l'utente non ha specificato un valore, il valore predefinito è l'ultima pagina del documento.

CPrintInfo::m_bContinuePrinting

Contiene un flag che indica se il framework deve continuare il ciclo di stampa.

Osservazioni:

Se si esegue l'impaginazione in fase di stampa, è possibile impostare questo membro su FALSE nell'override di CView::OnPrepareDC una volta raggiunta la fine del documento. Non è necessario modificare questa variabile se è stata specificata la lunghezza del documento all'inizio del processo di stampa utilizzando la SetMaxPage funzione membro. Il m_bContinuePrinting membro è una variabile pubblica di tipo BOOL.

CPrintInfo::m_bDirect

Il framework imposta questo membro su TRUE se la finestra di dialogo Stampa verrà ignorata per la stampa diretta; FALSE in caso contrario.

Osservazioni:

La finestra di dialogo Stampa viene in genere ignorata quando si stampa dalla shell o quando la stampa viene eseguita utilizzando l'ID comando ID_FILE_PRINT_DIRECT.

In genere non si modifica questo membro, ma se lo si modifica, modificarlo prima di chiamare CView::D oPreparePrinting nell'override di CView::OnPreparePrinting.

CPrintInfo::m_bDocObject

Contiene un flag che indica se il documento da stampare è un DocObject.

Osservazioni:

I membri m_dwFlags dati e m_nOffsetPage non sono validi a meno che questo flag non sia TRUE.

CPrintInfo::m_bPreview

Contiene un flag che indica se il documento è in anteprima.

Osservazioni:

Viene impostato dal framework a seconda del comando eseguito dall'utente. La finestra di dialogo Stampa non viene visualizzata per un processo di anteprima di stampa. Il m_bPreview membro è una variabile pubblica di tipo BOOL.

CPrintInfo::m_dwFlags

Contiene una combinazione di flag che specificano operazioni di stampa DocObject.

Osservazioni:

Valido solo se il membro m_bDocObject dati è TRUE.

I flag possono essere uno o più dei valori seguenti:

  • PRINTFLAG_MAYBOTHERUSER

  • PRINTFLAG_PROMPTUSER

  • PRINTFLAG_USERMAYCHANGEPRINTER

  • PRINTFLAG_RECOMPOSETODEVICE

  • PRINTFLAG_DONTACTUALLYPRINT

  • PRINTFLAG_FORCEPROPERTIES

  • PRINTFLAG_PRINTTOFILE

CPrintInfo::m_lpUserData

Contiene un puntatore a una struttura creata dall'utente.

Osservazioni:

È possibile usarlo per archiviare dati specifici della stampa che non si desidera archiviare nella classe di visualizzazione. Il m_lpUserData membro è una variabile pubblica di tipo LPVOID.

CPrintInfo::m_nCurPage

Contiene il numero della pagina corrente.

Osservazioni:

Il framework chiama CView::OnPrepareDC e CView::OnPrint una volta per ogni pagina del documento, specificando un valore diverso per questo membro ogni volta; i relativi valori vanno dal valore restituito da GetFromPage a quello restituito da GetToPage. Utilizzare questo membro nelle sostituzioni di CView::OnPrepareDC e CView::OnPrint per stampare la pagina specificata del documento.

Quando viene richiamata per la prima volta la modalità di anteprima, il framework legge il valore di questo membro per determinare quale pagina del documento deve essere visualizzata in anteprima inizialmente. È possibile impostare il valore di questo membro nell'override di CView::OnPreparePrinting per mantenere la posizione corrente dell'utente nel documento quando si immette la modalità di anteprima. Il m_nCurPage membro è una variabile pubblica di tipo UINT.

CPrintInfo::m_nJobNumber

Indica il numero di processo assegnato dal sistema operativo per il processo di stampa corrente.

Osservazioni:

Questo valore può essere SP_ERROR se il processo non è ancora stato stampato (ovvero se l'oggetto è stato appena costruito e non è ancora stato usato per la stampa) o se si è verificato un errore durante l'avvio CPrintInfo del processo.

CPrintInfo::m_nNumPreviewPages

Contiene il numero di pagine visualizzate in modalità di anteprima; può essere 1 o 2.

Osservazioni:

Il m_nNumPreviewPages membro è una variabile pubblica di tipo UINT.

CPrintInfo::m_nOffsetPage

Contiene il numero di pagine che precedono la prima pagina di un particolare DocObject in un processo di stampa DocObject combinato.

CPrintInfo::m_pPD

Contiene un puntatore all'oggetto CPrintDialog utilizzato per visualizzare la finestra di dialogo Stampa per il processo di stampa.

Osservazioni:

Il m_pPD membro è una variabile pubblica dichiarata come puntatore a CPrintDialog.

CPrintInfo::m_rectDraw

Specifica l'area di disegno utilizzabile della pagina in coordinate logiche.

Osservazioni:

È possibile fare riferimento a questo oggetto nell'override di CView::OnPrint. È possibile utilizzare questo membro per tenere traccia dell'area che rimane utilizzabile dopo aver stampato intestazioni, piè di pagina e così via. Il m_rectDraw membro è una variabile pubblica di tipo CRect.

CPrintInfo::m_strPageDesc

Contiene una stringa di formato utilizzata per visualizzare i numeri di pagina durante l'anteprima di stampa; questa stringa è costituita da due sottostringhe, una per la visualizzazione a pagina singola e una per la visualizzazione a pagina doppia, ognuna terminata da un carattere '\n'.

Osservazioni:

Il framework usa "Page %u\nPages %u-%u\n" come valore predefinito. Se si desidera un formato diverso per i numeri di pagina, specificare una stringa di formato nell'override di CView::OnPreparePrinting. Il m_strPageDesc membro è una variabile pubblica di tipo CString.

CPrintInfo::SetMaxPage

Chiamare questa funzione per specificare il numero dell'ultima pagina del documento.

void SetMaxPage(UINT nMaxPage);

Parametri

nMaxPage
Numero dell'ultima pagina del documento.

Osservazioni:

Questo valore viene archiviato nell'oggetto CPrintDialog a cui fa riferimento il m_pPD membro. Se la lunghezza del documento è nota prima della stampa, chiamare questa funzione dall'override di CView::OnPreparePrinting. Se la lunghezza del documento dipende da un'impostazione specificata dall'utente nella finestra di dialogo Stampa, chiamare questa funzione dall'override di CView::OnBeginPrinting. Se la lunghezza del documento non è nota fino a quando non viene stampata, utilizzare il m_bContinuePrinting membro per controllare il ciclo di stampa.

Esempio

Vedere l'esempio per CView::OnPreparePrinting.

CPrintInfo::SetMinPage

Chiamare questa funzione per specificare il numero della prima pagina del documento.

void SetMinPage(UINT nMinPage);

Parametri

nMinPage
Numero della prima pagina del documento.

Osservazioni:

I numeri di pagina iniziano normalmente a 1. Questo valore viene archiviato nell'oggetto CPrintDialog a cui fa riferimento il m_pPD membro.

Vedi anche

DIBLOOK di esempio MFC
Grafico della gerarchia
CView::OnBeginPrinting
CView::OnEndPrinting
CView::OnEndPrintPreview
CView::OnPrepareDC
CView::OnPreparePrinting
CView::OnPrint