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


CView::OnPreparePrinting

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

virtual BOOL OnPreparePrinting( 
   CPrintInfo* pInfo  
);

Параметры

  • pInfo
    Указывает на CPrintInfo составляющие, описывающего текущее задание печати.

Возвращаемое значение

Ненулевой начать печать; 0, если задание печати было отменено.

Заметки

Реализация по умолчанию не выполняет никаких действий.

Необходимо переопределить эту функцию для включения печать и предварительного просмотра. Вызовите функцию-член DoPreparePrinting, передавая ему параметр pInfo, а затем вернуть ее возвращаемое значение. DoPreparePrinting отображает диалоговое окно печать и создает контекст устройства принтера. Если требуется инициализации диалогового окна печать, в котором значения, отличные от значений по умолчанию, присвойте значения на члены pInfo. Например, если известно, что длину документа, передайте значение pInfo к функции-члену SetMaxPage перед вызовом DoPreparePrinting. Это значение отображается в: части окна в диапазоне диалогового окна печати.

DoPreparePrinting не отображает диалоговое окно печать задания предварительного просмотра. Если требуется исключить диалоговое окно печать задания печати, то убедитесь в том, что элемент m_bPreviewpInfoFALSE а затем задать для него значение TRUE, прежде чем передать его предложению DoPreparePrinting; сбросить его в FALSE.

Если требуется выполнить инициализацию, требующие доступа к объекту CDC, представляющий контекст устройства принтера (например, если необходимо определить размер страницы перед определением длину документа), следует переопределить функцию-член OnBeginPrinting.

Если необходимо задать значение элементов m_nNumPreviewPages или m_strPageDesc параметра pInfo сделайте так, то после вызова DoPreparePrinting. Функция-член DoPreparePrinting задает m_nNumPreviewPages к значению нахоженному в ini-файле приложения и задает m_strPageDesc значения по умолчанию.

Пример

Переопределите OnPreparePrinting и вызовите DoPreparePrinting из переопределения так как платформа будет отображать диалоговое окно "Печать" и создают контроллер домена принтера.

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

Если известно, сколько страниц документ содержит задает максимальную страницу в OnPreparePrinting перед вызовом DoPreparePrinting. Границы покажут максимальный номер страницы "на" окна " диалогового окна печати.

BOOL CExampleView::OnPreparePrinting(CPrintInfo* pInfo)
{
   //The document has 2 pages.
   pInfo->SetMaxPage(2);
   return CView::DoPreparePrinting(pInfo);
}

Требования

Header: afxwin.h

См. также

Ссылки

Класс CView

Диаграмма иерархии

Структура CPrintInfo

CView::DoPreparePrinting

CView::OnBeginPrinting

CView::OnPrepareDC

CView::OnPrint