Intestazioni e piè di pagina
In questo articolo viene descritto come aggiungere le intestazioni e piè di pagina a un documento stampato.
Quando si esamina un documento sullo schermo, il nome del documento e la posizione corrente nel documento in genere vengono visualizzati in una barra del titolo e una barra di stato. Nell'utilizzare una copia stampata di un documento, è utile disporre il nome e il numero di pagina visualizzati in un'intestazione o un piè di pagina. Si tratta di un metodo comune in cui anche i programmi WYSIWYG si differenziano come eseguono la visualizzazione e la stampa.
La funzione membro di OnPrint è il posto appropriato per visualizzare le intestazioni o piè di pagina poiché viene chiamata per ogni pagina e poiché viene chiamato solo per stampare, non per la visualizzazione. È possibile definire una funzione distinta per visualizzare un'intestazione o un piè di pagina e gli passa il contesto del dispositivo della stampante da OnPrint. Potrebbe essere necessario modificare l'origine o l'ambito della finestra prima di chiamare OnDraw per evitare che il corpo della sovrapposizione della pagina l'intestazione e il piè di pagina. Potrebbe inoltre essere necessario modificare OnDraw perché il documento che si adatta alla pagina può essere ridotta.
Un modo per compensare l'area selezionata dall'intestazione o dal piè di pagina è di utilizzare un membro di m_rectDraw di CPrintInfo. Quando una pagina viene stampata, questo membro viene inizializzato con l'area utilizzabile della pagina. Se si applica un'intestazione o un piè di pagina prima della stampa del corpo della pagina, è possibile ridurre le dimensioni del rettangolo archiviato in m_rectDraw per rappresentare l'area selezionata dall'intestazione o dal piè di pagina. Quindi OnPrint può fare riferimento a m_rectDraw per determinare la quantità di area rimane per la stampa del corpo della pagina.
Non è possibile stampare un'intestazione, o altro, da OnPrepareDC, poiché viene chiamato prima che la funzione membro di StartPage di CDC sia stata chiamata. A questo punto, il contesto del dispositivo della stampante è considerato un limite della pagina. È possibile eseguire la stampa solo dalla funzione membro di OnPrint.