Поделиться через


Верхние и нижние колонтитулы

В этой статье объясняется, как добавить верхние и нижние колонтитулы в печатный документ.

При просмотре документа на экране имя документа и текущее расположение документа обычно отображаются в строке заголовка и строке состояния. При просмотре печатной копии документа полезно иметь имя и номер страницы, отображаемый в верхнем или нижнем колонтитуле. Это распространенный способ, в котором даже программы WYSIWYG отличаются в том, как они выполняют печать и экран.

Функция-член OnPrint является подходящим местом для печати верхних или нижних колонтитулов, так как она вызывается для каждой страницы, и потому что она вызывается только для печати, а не для отображения экрана. Можно определить отдельную функцию для печати верхнего или нижнего колонтитула и передать его контекст устройства принтера.OnPrint Возможно, необходимо настроить источник окна или экстент перед вызовом OnDraw , чтобы избежать перекрытия текста страницы верхнего или нижнего колонтитула. Возможно, вам также придется изменить OnDraw , так как объем документа, который помещается на страницу, может быть сокращен.

Одним из способов компенсации области, принятой верхним или нижним колонтитулов, является использование m_rectDraw члена CPrintInfo. Каждый раз при печати страницы этот элемент инициализируется с доступной областью страницы. Если вы печатаете верхний или нижний колонтитул перед печатью текста страницы, вы можете уменьшить размер прямоугольника, хранящегося в m_rectDraw , чтобы учесть область, взятую верхним или нижним колонтитуловом. Затем OnPrint можно обратиться к m_rectDraw , чтобы узнать, сколько остается области для печати текста страницы.

Невозможно распечатать заголовок или что-либо другое из OnPrepareDC, так как он вызывается до StartPage вызова функции-члена CDC . На этом этапе контекст устройства принтера считается на границе страницы. Вы можете выполнять печать только из OnPrint функции-члена.

Что вы хотите узнать больше о

См. также

Печать