Печать по умолчанию
В этой статье описывается процесс принтера по умолчанию в Windows с точки зрения платформы MFC.
В приложениях MFC класс представления, имеющий функции-члена OnDraw, содержащий весь код рисования. OnDraw принимает указатель на объект CDC в качестве параметра. Объект, CDC представляет контекст устройства для получения образ созданный OnDraw. Когда окно, указывающее документ получает сообщение WM_PAINT, платформа вызывает OnDraw и передает его контекст устройства для экрана (объекта CPaintDC, быть определенный). Соответственно, результат OnDraw переходит на экране.
В программировании для Windows, отправляя выходные данные на принтер очень похож на отправить вывод на экран. Это происходит потому, что приборный интерфейс Windows (GDI) графики аппаратно-независимым аппаратно-независимая. Можно использовать те же функции GDI для экранного отображения или для печати только с помощью соответствующего контекста устройства. Если объект CDC, OnDraw получает представляет принтер, то результатом является OnDraw переходит на принтер.
Это описание mfc-приложения может выполнить простую печать без дополнительных действий со стороны пользователя. Платформа следит за отображение диалогового окна печати и создать контекст устройства для принтера. Когда пользователь выбирает команду на печать из меню "Файл", представление передает этот контекст устройства в OnDraw, который рисует документ на принтер.
Однако некоторые важные различия между печатью и экранным устройству отображения. При вводе, следует разделить документ в заданные страницы и для их по одному, а не отображаются никакие части отображается в окне. В качестве выходных данных следует размера бумаги (ли это размер буквы, допустимый размер, или конверт). Может потребоваться вывести в различных ориентациях, например режим альбомной ориентации или книжной. Библиотеки Microsoft Foundation Class не может предсказать, как приложение обрабатывает эти проблемы, поэтому он обеспечивает протокол для добавления этих возможностей.
Этот протокол описана в статье Multipage документы.