Шаг 1071 - CView::OnPreparePrinting

virtual BOOL OnPreparePrinting( CPrintInfo* pInfo );

Возвращаемое значение
Отлично от нуля чтобы начинать печатать, 0, если задание по выводу на печать было отменено.

Параметры
pInfo
Указатель на структуру CPrintInfo, которая описывает текущее задание по выводу на печать.

Замечания
Вызывается рамкой прежде, чем документ напечатан или визуально обследован. Заданная по умолчанию реализация не делает ничего.
Вы должны перегрузить эту функцию для предварительного просмотра печати и печати. Вызовите DoPreparePrinting функцию, передавая это pInfo параметром, и затем возвратите возвращаемое значение, DoPreparePrinting отображает диалоговое окно Print и создает контекст устройства принтера. Если Вы хотите инициализировать диалоговое окно Print со значениями другими чем значения по умолчанию, назначьте значения к элементам pInfo. Например, если Вы знаете длину о документе, передайте значение к SetMaxPage функции pInfo перед вызовом DoPreparePrinting. Это значение отображается в диалоговом окне Print.
DoPreparePrinting не отображает диалоговое окно Print для работы предварительного просмотра. Если Вы хотите обходить диалоговое окно Print для задания по выводу на печать, проверьте, что m_bPreview член pInfo FALSE и затем устанавливать это к TRUE перед прохождением этого к DoPreparePrinting, сбросьте это к FALSE впоследствии.
Если Вы должны выполнить инициализации, которые требуют доступа к объекту CDC, представляющему контекст устройства принтера (например, если Вы должны знать размер страницы перед определением длины документа), перегрузить OnBeginPrinting функцию.
Если Вы хотите устанавливать значение m_nNumPreviewPages или m_strPageDesc элементов pInfo параметра, делайте так после вызова DoPreparePrinting. DoPreparePrinting функция устанавливает m_nNumPreviewPages к значению, найденному в .INI файле прикладной программы и устанавливает m_strPageDesc к значению по умолчанию.

Пример
Следующее - перегрузка OnPreparePrinting, обеспеченного AppWizard, если Вы выбираете опцию печати, когда Вы создаете набор файлов. Эта перегрузка достаточна, если Вы не хотите инициализировать диалоговое окно Print.

BOOL CMyView::OnPreparePrinting( CPrintInfo *pInfo )
{
	return DoPreparePrinting( pInfo );
}

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 23.02.2002