Visual C++. Описание стандартных классов - OnPreparePrinting

ОГЛАВЛЕНИЕ


OnPreparePrinting

virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);

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

Ненулевое для начала печати, и нулевое, если процесс печати был прерван.

Аргументы

  • pInfo - указатель на объект класса CPrintInfo, содержащий описание текущего задания для принтера.

Описание

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