Partager via


En-têtes et pieds de page

Cet article explique comment ajouter des en-têtes et pieds de page à un document imprimé.

Lorsque vous regarder un document à l'écran, le nom du document et la position actuelle dans le document sont généralement affichés dans la barre de titre et la barre d'état. En consultant une copie imprimée d'un document, il est utile d'avoir le nom et le numéro de page affichés dans un en-tête ou un pied de page. C'est un point fréquent sur lequel même les programmes de WYSIWYG diffèrent dans la façon dont ils effectuent l'impression et l'affichage à l'écran.

La fonction membre OnPrint est l'emplacement approprié pour imprimer les en-têtes ou pieds de page car elle est appelée pour chaque page, et elle est appelée uniquement pour l'impression, et non pour l'affichage à l'écran. Vous pouvez définir une fonction distincte pour imprimer un en-tête ou un pied de page, et lui passer le contexte de l'imprimante OnPrint. Vous devrez peut-être ajuster l'origine ou l'étendue de la fenêtre avant d'appeler OnDraw pour éviter le chevauchement du corps de la page et de l'en-tête ou du pied de page. Vous devrez peut-être modifier OnDraw car la quantité de document qui tient dans la page peut être réduite.

Une façon de compenser la zone prise par l'en-tête ou le pied de page est d'utiliser le membre de m_rectDraw de CPrintInfo. Chaque fois qu'une page est imprimée, ce membre est initialisé avec la zone utilisable de la page. Si vous imprimez un en-tête ou un pied de page avant impression du corps de la page, vous pouvez réduire la taille du rectangle stocké dans m_rectDraw pour représenter la zone prise par l'en-tête ou le pied de page. AlorsOnPrint peut se référer à m_rectDraw pour déterminer la zone qui reste pour imprimer le corps de la page.

Vous ne pouvez pas afficher un en-tête, ou quoi que ce soit d'autre, à partir de OnPrepareDC, car elle est appelée avant que la fonction membre StartPage de CDC a été appelée. À ce stade, le contexte de l'imprimante est considéré comme à la bordure d'une page. Vous pouvez exécuter l'impression seulement depuis la fonction membre OnPrint.

Sur quels éléments souhaitez-vous obtenir des informations supplémentaires ?

Voir aussi

Référence

imprimer