Структура 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