Структура CPrintInfo

Хранит сведения о задании печати или предварительного просмотра.

Синтаксис

struct CPrintInfo

Участники

Открытые методы

Имя Описание
CPrintInfo::GetFromPage Возвращает число печатаемой первой страницы.
CPrintInfo::GetMaxPage Возвращает номер последней страницы документа.
CPrintInfo::GetMinPage Возвращает номер первой страницы документа.
CPrintInfo::GetOffsetPage Возвращает количество страниц, предшествующих первой странице элемента DocObject, печатаемого в объединенном задании печати DocObject.
CPrintInfo::GetToPage Возвращает число печатаемой последней страницы.
CPrintInfo::SetMaxPage Задает номер последней страницы документа.
CPrintInfo::SetMinPage Задает номер первой страницы документа.

Открытые члены данных

Имя Описание
CPrintInfo::m_bContinuePrinting Содержит флаг, указывающий, должна ли платформа продолжать цикл печати.
CPrintInfo::m_bDirect Содержит флаг, указывающий, печатается ли документ непосредственно (без отображения диалогового окна печати).
CPrintInfo::m_bDocObject Содержит флаг, указывающий, является ли печатный документ документом DocObject.
CPrintInfo::m_bPreview Содержит флаг, указывающий, просматривается ли документ.
CPrintInfo::m_dwFlags Задает операции печати DocObject.
CPrintInfo::m_lpUserData Содержит указатель на созданную пользователем структуру.
CPrintInfo::m_nCurPage Определяет число печатаемой страницы.
CPrintInfo::m_nJobNumber Указывает номер задания, назначенный операционной системой для текущего задания печати
CPrintInfo::m_nNumPreviewPages Определяет количество страниц, отображаемых в окне предварительного просмотра; либо 1, либо 2.
CPrintInfo::m_nOffsetPage Указывает смещение первой страницы DocObject в объединенном задании печати DocObject.
CPrintInfo::m_pPD Содержит указатель на объект, CPrintDialog используемый для диалогового окна "Печать".
CPrintInfo::m_rectDraw Задает прямоугольник, определяющий текущую область страницы, пригодную для использования.
CPrintInfo::m_strPageDesc Содержит строку формата для отображения номера страницы.

Замечания

CPrintInfo является структурой и не имеет базового класса.

Платформа создает объект CPrintInfo при каждом выборе команды "Печать" или "Предварительный просмотр печати" и уничтожает его при завершении команды.

CPrintInfo содержит сведения о задании печати в целом, например диапазон страниц, которые нужно распечатать, и текущее состояние задания печати, например страницы, на которой выполняется печать. Некоторые сведения хранятся в связанном объекте CPrintDialog . Этот объект содержит значения, введенные пользователем в диалоговом окне "Печать".

CPrintInfo Объект передается между платформой и классом представления во время процесса печати и используется для обмена информацией между двумя. Например, платформа сообщает классу представления, какой странице документа следует распечатать, назначив элементу CPrintInfoзначение; класс представления извлекает значение m_nCurPage и выполняет фактическую печать указанной страницы.

Еще одним примером является случай, когда длина документа не известна, пока она не будет напечатана. В этой ситуации класс представления проверяет конец документа при каждом печати страницы. По достижении конца класс представления задает m_bContinuePrinting элемент CPrintInfo false. Это сообщает платформе, чтобы остановить цикл печати.

CPrintInfoиспользуется функциями-членамиCView, перечисленными в разделе "См. также". Дополнительные сведения об архитектуре печати, предоставленной библиотекой классов Microsoft Foundation, см. в статьях "Фрейм Windows" и "Архитектура представления документов и документов", а также статьи "Печать и печать: многостраничные документы".

Иерархия наследования

CPrintInfo

Требования

Заголовок: afxext.h

CPrintInfo::GetFromPage

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

UINT GetFromPage() const;

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

Число первой страницы для печати.

Замечания

Это значение, указанное пользователем в диалоговом окне "Печать", и оно хранится в CPrintDialog объекте, на который ссылается m_pPD член. Если пользователь не указал значение, по умолчанию используется первая страница документа.

CPrintInfo::GetMaxPage

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

UINT GetMaxPage() const;

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

Номер последней страницы документа.

Замечания

Это значение хранится в объекте CPrintDialog , на который m_pPD ссылается член.

CPrintInfo::GetMinPage

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

UINT GetMinPage() const;

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

Номер первой страницы документа.

Замечания

Это значение хранится в объекте CPrintDialog , на который m_pPD ссылается член.

CPrintInfo::GetOffsetPage

Вызовите эту функцию, чтобы получить смещение при печати нескольких элементов DocObject из клиента DocObject.

UINT GetOffsetPage() const;

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

Количество страниц, предшествующих первой странице элемента DocObject, печатаемого в объединенном задании печати DocObject.

Замечания

Это значение ссылается на m_nOffsetPage элемент. Первая страница документа будет нумерована m_nOffsetPage значение + 1 при печати в виде DocObject с другими активными документами. Член m_nOffsetPage действителен только в том случае, если m_bDocObject значение равно TRUE.

CPrintInfo::GetToPage

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

UINT GetToPage() const;

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

Число последней страницы для печати.

Замечания

Это значение, указанное пользователем в диалоговом окне "Печать", и оно хранится в CPrintDialog объекте, на который ссылается m_pPD член. Если пользователь не указал значение, по умолчанию используется последняя страница документа.

CPrintInfo::m_bContinuePrinting

Содержит флаг, указывающий, должна ли платформа продолжать цикл печати.

Замечания

Если вы выполняете разбиение на страницы во время печати, этот элемент можно задать значение FALSE в переопределении CView::OnPrepareDC после достижения конца документа. Если вы указали длину документа в начале задания печати, не нужно изменять эту переменную, используя SetMaxPage функцию-член. Элемент m_bContinuePrinting — это общедоступная переменная типа BOOL.

CPrintInfo::m_bDirect

Платформа задает этому элементу значение TRUE, если диалоговое окно "Печать" будет обходить для прямой печати; Значение FALSE в противном случае.

Замечания

Диалоговое окно печати обычно обходить при печати из оболочки или при печати с помощью идентификатора команды ID_FILE_PRINT_DIRECT.

Обычно этот элемент не изменяется, но если изменить его, измените его перед вызовом CView::D oPreparePrinting в переопределении CView::OnPreparePrinting.

CPrintInfo::m_bDocObject

Содержит флаг, указывающий, является ли печатный документ документом DocObject.

Замечания

Элементы m_dwFlags данных и m_nOffsetPage недопустимы, если этот флаг не имеет значения TRUE.

CPrintInfo::m_bPreview

Содержит флаг, указывающий, просматривается ли документ.

Замечания

Это устанавливается платформой в зависимости от того, какая команда выполнена пользователем. Диалоговое окно "Печать" не отображается для задания предварительного просмотра печати. Элемент m_bPreview — это общедоступная переменная типа BOOL.

CPrintInfo::m_dwFlags

Содержит сочетание флагов, указывающих операции печати DocObject.

Замечания

Допустимо только в том случае, если член m_bDocObject данных имеет значение TRUE.

Флаги могут быть одним или несколькими из следующих значений:

  • PRINTFLAG_MAYBOTHERUSER

  • PRINTFLAG_PROMPTUSER

  • PRINTFLAG_USERMAYCHANGEPRINTER

  • PRINTFLAG_RECOMPOSETODEVICE

  • PRINTFLAG_DONTACTUALLYPRINT

  • PRINTFLAG_FORCEPROPERTIES

  • PRINTFLAG_PRINTTOFILE

CPrintInfo::m_lpUserData

Содержит указатель на созданную пользователем структуру.

Замечания

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

CPrintInfo::m_nCurPage

Содержит номер текущей страницы.

Замечания

Платформа вызывает CView::OnPrepareDC и CView::OnPrint один раз для каждой страницы документа, указывая другое значение для этого члена каждый раз; его значения варьируются от значения GetFromPage , возвращаемого этим элементом GetToPage. Используйте этот элемент в переопределениях CView::OnPrepareDC и CView::OnPrint напечатать указанную страницу документа.

При первом вызове режима предварительной версии платформа считывает значение этого члена, чтобы определить, какая страница документа должна быть предварительно просмотрна. Вы можете задать значение этого элемента в переопределении CView::OnPreparePrinting для поддержания текущей позиции пользователя в документе при вводе режима предварительного просмотра. Элемент m_nCurPage — это общедоступная переменная типа UINT.

CPrintInfo::m_nJobNumber

Указывает номер задания, назначенный операционной системой для текущего задания печати.

Замечания

Это значение может быть SP_ERROR, если задание еще не напечатано (т. е. если CPrintInfo объект создан и еще не использовался для печати), или если произошла ошибка при запуске задания.

CPrintInfo::m_nNumPreviewPages

Содержит количество страниц, отображаемых в режиме предварительного просмотра; это может быть либо 1, либо 2.

Замечания

Элемент m_nNumPreviewPages — это общедоступная переменная типа UINT.

CPrintInfo::m_nOffsetPage

Содержит количество страниц, предшествующих первой странице определенной страницы DocObject в объединенном задании печати DocObject.

CPrintInfo::m_pPD

Содержит указатель на CPrintDialog объект, используемый для отображения диалогового окна "Печать" для задания печати.

Замечания

Элемент m_pPD — это общедоступная переменная, объявленная в качестве указателя CPrintDialog.

CPrintInfo::m_rectDraw

Задает пригодную область рисования страницы в логических координатах.

Замечания

Вы можете ссылаться на это в переопределении CView::OnPrint. Этот элемент можно использовать для отслеживания того, какая область остается пригодной для использования после печати верхних колонтитулов и т. д. Элемент m_rectDraw — это общедоступная переменная типа CRect.

CPrintInfo::m_strPageDesc

Содержит строку формата, используемую для отображения номеров страниц во время предварительного просмотра печати; эта строка состоит из двух подстроок, один для одностраничного отображения и один для двухстраничного отображения, каждый из которых завершается символом "\n".

Замечания

Платформа использует "Page %u\nPages %u-%u\n" в качестве значения по умолчанию. Если требуется другой формат номеров страниц, укажите строку формата в переопределении CView::OnPreparePrinting. Элемент m_strPageDesc — это общедоступная переменная типа CString.

CPrintInfo::SetMaxPage

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

void SetMaxPage(UINT nMaxPage);

Параметры

nMaxPage
Номер последней страницы документа.

Замечания

Это значение хранится в объекте CPrintDialog , на который m_pPD ссылается член. Если длина документа известна перед печатью, вызовите эту функцию из переопределения CView::OnPreparePrinting. Если длина документа зависит от параметра, указанного пользователем в диалоговом окне печати, вызовите эту функцию из переопределения CView::OnBeginPrinting. Если длина документа не известна до его печати, используйте m_bContinuePrinting элемент для управления циклом печати.

Пример

См. пример CView ::OnPreparePrinting.

CPrintInfo::SetMinPage

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

void SetMinPage(UINT nMinPage);

Параметры

nMinPage
Номер первой страницы документа.

Замечания

Номера страниц обычно начинаются с 1. Это значение хранится в объекте CPrintDialog , на который m_pPD ссылается член.

См. также

Пример DIBLOOK MFC
Диаграмма иерархии
CView::OnBeginPrinting
CView::OnEndPrinting
CView::OnEndPrintPreview
CView::OnPrepareDC
CView::OnPreparePrinting
CView::OnPrint