Графический интерфейс GDI в Microsoft Windows


             

Функции для печати


В операционной системе Windows версии 3.0 и более ранних версий для печати использовалась одна функция Escape, которая имела множество подфункций (63 подфункции). Начиная с версии 3.1 вместо этой функции рекомендуется использовать несколько других.

Чаще всего используются семь функций.

StartDoc

Эта функция начинает печать нового документа (формирует задание на печать). Она должна вызываться один раз перед началом печати нового документа

StartPage

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

EndPage

Функция EndPage завершает процесс печати страницы. Метафайл, созданный в процессе печати одной страницы, проигрывается на принтере.

EndDoc

Функция завершает процесс печати документа. Она вызывается один раз после завершения печати документа.

AbortDoc

Эта функция предназначена для аварийного завершения процесса печати документа.

SetAbortProc

Функция SetAbortProc используется для обеспечения возможности аварийного завершения процесса печати, а также для того чтобы другие приложения могли работать во время печати.

ResetDC

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

Как пользоваться этими функциями?

После получения контекста устройства для принтера ваше приложения должно установить адрес функции отмены печати, вызвав функцию SetAbortProc, и вывести на экран диалоговую панель, позволяющую отменить печать. Диалоговая панель отмены печати должна быть немодальной.

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

Приведем прототип функции SetAbortProc :

int SetAbortProc(HDC hdc, ABORTPROC abrtprc);

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

Функция отмены печати может выглядеть, например, следующим образом:



Содержание  Назад  Вперед