Win32 API. Справочник по стандартному диалоговому окну
Страница 17. Фильтр - процедура PagePaintHook


Фильтр - процедура PagePaintHook

Фильтр - процедура PagePaintHook - определяемая программой или определенная библиотекой процедура повторного вызова, которая используется диалоговым окном Параметры страницы (Page Setup). Фильтр - процедура принимает сообщения, которые позволяют вам настраивать рисунок макета страницы в диалоговом окне Параметры страницы (Page Setup).

Синтаксис

UINT APIENTRY PagePaintHook
(
HWND hdlg,// дескриптор окна блока диалога
UINT uiMsg,// идентификатор сообщения
WPARAM wParam,// параметр сообщения
LPARAM lParam // параметр сообщения
);

Параметры
hdlg
Дескриптор окна блока диалога Параметры страницы (Page Setup).
uiMsg
Идентифицирует принимаемое сообщение.
wParam
Определяет дополнительную информацию о сообщении. Точное значение зависит от значения параметра uiMsg.
lParam
Определяет дополнительную информацию о сообщении. Точное значение зависит от значения параметра uiMsg.

Возвращаемые значения
Если фильтр - процедура возвращает значение ИСТИНА (TRUE) для любого из первых трех сообщений (WM_PSD_PAGESETUPDLG, WM_PSD_FULLPAGERECT или WM_PSD_MINMARGINRECT) в порядке следования прорисовки, то диалоговое окно не передает больше сообщений и не рисует в макете страницы до тех пор, пока в следующий раз системе не потребуется перерисовать макет страницы. Если фильтр - процедура возвращает значение ЛОЖЬ (FALSE) для всех трех сообщений, диалоговое окно передает остающиеся сообщения в порядке следования прорисовки.
Если фильтр - процедура возвращает значение ИСТИНА (TRUE) для любого из остающихся сообщений в порядке следования прорисовки, диалоговое окно не рисует соответствующую часть макета страницы. Если фильтр - процедура возвращает ЛОЖЬ (FALSE) для любого из этих сообщений, диалоговое окно рисует эту часть макета страницы.

Замечания
Диалоговое окно Параметры страницы (Page Setup) включает в себя изображение макета страницы, который показывает, как выбор пользователя воздействует на вид печати выводимых данных. Изображение состоит из прямоугольника, который представляет собой выбранный тип листа бумаги или конверта, с пунктирным прямоугольником, представляющим собой текущие поля и неполные (греческий текст) символы, чтобы показать, как смотрится текст на напечатанной странице. Когда вы используете функцию PageSetupDlg, чтобы создать диалоговое окно Параметры страницы (Page Setup), вы можете предоставить фильтр - процедуру PagePaintHook, чтобы настроить вид макета страницы.
Чтобы разрешить действие фильтр - процедуры, используйте структуру PAGESETUPDLG, которую вы передали в функцию создавшую диалоговое окно. Установите указатель на фильтр - процедуру в элементе lpfnPagePaintHook, а в элементе Flags установите флажок PSD_ENABLEPAGEPAINTHOOK.
Всякий раз, когда диалоговое окно собирается делать прорисовку содержания макета страницы, фильтр - процедура принимает следующие сообщения по порядку, в котором они перечислены:

  • WM_PSD_PAGESETUPDLG - Диалоговое окно собирается делать прорисовку макета страницы. Фильтр - процедура может использовать это сообщение, чтобы приготовиться рисовать содержание макета страницы.
  • WM_PSD_FULLPAGERECT - Диалоговое окно собирается делать прорисовку макета страницы. Это сообщение определяет ограничительный прямоугольник макета страницы.
  • WM_PSD_MINMARGINRECT - Диалоговое окно собирается делать прорисовку макета страницы. Это сообщение определяет прямоугольник поля.
  • WM_PSD_MARGINRECT - Диалоговое окно собирается делать прорисовку прямоугольника поля.
  • WM_PSD_GREEKTEXTRECT - Диалоговое окно собирается делать прорисовку греческого текста внутри прямоугольника ограниченного полями.
  • WM_PSD_ENVSTAMPRECT - Диалоговое окно собирается делать прорисовку в прямоугольнике страницы макета конверта с маркой. Это сообщение посылается только для конвертов.
  • WM_PSD_YAFULLPAGERECT - Диалоговое окно собирается делать прорисовку по адресу возврата части макета страницы конверта. Это сообщение посылается для конвертов и бумаги других размеров.

PagePaintHook - метка - заместитель для определяемого программой или определенного библиотекой имени функции. Тип LPPAGEPAINTHOOK - указатель на фильтр - процедуру PagePaintHook.

Смотри также
PageSetupDlg, PAGESETUPDLG

Размещение и совместимость PagePaintHook

Windows NTДа 
Win95Да
Win32sДа
Импортируемая библиотекаОпределяется пользователем
Заголовочный файлcommdlg.h
УникодНет
Замечания по платформеLPOFNHOOKPROC

 
« Предыдущая статья   Следующая статья »