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.
CPrintInfo
viene 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