На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

Customizing the Sample Page



The Page Setup dialog box includes an image of a sample page that shows how the user's selections affect the appearance of the printed output. The image consists of a rectangle that represents the selected paper or envelope type, with a dotted-line rectangle representing the current margins, and partial (greek text) characters to show how text looks on the printed page.

When you call the PageSetupDlg function, you can provide a PagePaintHook hook procedure to customize the appearance of the sample page.

To enable a PagePaintHook hook procedure

1. Set the PSD_ENABLEPAGEPAINTHOOK flag in the Flags member of the PAGESETUPDLG structure.
2. Specify the address of the hook procedure in the lpfnPagePaintHook member.



Whenever the dialog box is about to draw the contents of the sample page, the hook procedure receives the following messages in the order in which they are listed.

Message Meaning
WM_PSD_PAGESETUPDLG The dialog box is about to draw the sample page. The hook procedure can use this message to prepare to draw the contents of the sample page.
WM_PSD_FULLPAGERECT The dialog box is about to draw the sample page. This message specifies the bounding rectangle of the sample page.
WM_PSD_MINMARGINRECT The dialog box is about to draw the sample page. This message specifies the margin rectangle.
WM_PSD_MARGINRECT The dialog box is about to draw the margin rectangle.
WM_PSD_GREEKTEXTRECT The dialog box is about to draw the greek text inside the margin rectangle.
WM_PSD_ENVSTAMPRECT The dialog box is about to draw in the envelope-stamp rectangle of an envelope sample page. This message is sent for envelopes only.
WM_PSD_YAFULLPAGERECT The dialog box is about to draw the return address portion of an envelope sample page. This message is sent for envelopes and other paper sizes.


If the hook procedure returns TRUE for any of the first three messages of a drawing sequence (WM_PSD_PAGESETUPDLG, WM_PSD_FULLPAGERECT, or WM_PSD_MINMARGINRECT) the dialog box sends no more messages and does not draw in the sample page until the next time the system needs to redraw the sample page. If the hook procedure returns FALSE for all three messages, the dialog box sends the remaining messages of the drawing sequence.

If the hook procedure returns TRUE for any of the remaining messages in a drawing sequence, the dialog box does not draw the corresponding portion of the sample page. If the hook procedure returns FALSE for any of these messages, the dialog box draws that portion of the sample page.
To prevent the dialog box from drawing the contents of the sample page, you can set the PSD_DISABLEPAGEPAINTING flag. This flag does not affect your PagePaintHook hook procedure, which still receives all the WM_PSD_* messages and can draw the sample page contents.


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

Модифицирующая по заказу пользователя Страница Образца



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

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

Чтобы приспосабливаться процедуру захвата PagePaintHook

1. Установите флаг PSD_ENABLEPAGEPAINTHOOK в элементе Флагов структуры PAGESETUPDLG.
2. Определите адрес рычажной процедуры в элементе lpfnPagePaintHook.



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

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


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

Если рычажная процедура возвращает ИСТИНУ для любого из остальных сообщений в рисующей последовательности, диалоговый блок не делает соответствующей частью страницы образца. Если рычажная процедура возвращает ЛОЖЬ для любого из этих сообщений, диалоговый блок делает этой частью страницы образца.
Чтобы мешать диалогового блока чтобы рисовать содержание страницы образца, Вы можете установить флаг PSD_DISABLEPAGEPAINTING. Этот флаг не влияет на вашу процедуру захвата PagePaintHook, какое все еще приемники все WM_PSD_* сообщения и могут сделать страничным содержанием образца.


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz