C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 4.31 - Настройка макета страницы / Cтандартные диалоговые окна / Win32 API

4.31 - Настройка макета страницы

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

Когда Вы вызываете функцию PageSetupDlg, Вы можете предоставить фильтр - процедуру PagePaintHook, чтобы настроить вид макета страницы.

Чтобы разрешать действия фильтр - процедуре PagePaintHook.

1. Установите флажок PSD_ENABLEPAGEPAINTHOOK в элементе Flags структуры PAGESETUPDLG.

2. Установите адрес фильтр - процедуры в элементе lpfnPagePaintHook.

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

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

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

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

Чтобы не дать диалоговому окну рисовать содержание макетов страниц, вы можете установить флажок PSD_DISABLEPAGEPAINTING. Этот флажок не воздействует на вашу фильтр - процедуру PagePaintHook, которая все еще принимает все WM_PSD_* сообщения и может выводить содержание макета страницы.


| |
Автор Владимир Соковиков.
[AD]