WM_PRINTCLIENT сообщение

Сообщение WM_PRINTCLIENT отправляется в окно с запросом на рисование клиентской области в указанном контексте устройства, чаще всего в контексте устройства принтера.

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

LRESULT CALLBACK WindowProc(
  HWND hwnd, 
  UINT  uMsg, 
  WPARAM wParam, 
  LPARAM lParam     
);

Параметры

wParam

Дескриптор контекста устройства для рисования.

lParam

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

Значение Значение
PRF_CHECKVISIBLE
Рисует окно только в том случае, если оно видно.
PRF_CHILDREN
Рисует все видимые дочерние окна.
PRF_CLIENT
Рисует клиентская область окна.
PRF_ERASEBKGND
Стирает фон перед рисованием окна.
PRF_NONCLIENT
Рисует неклиентную область окна.
PRF_OWNED
Рисует все принадлежащие окна.

 

Комментарии

Окно может обрабатывать это сообщение практически так же, как WM_PAINT, за исключением того, что не требуется вызывать BeginPaint и EndPaint (предоставляется контекст устройства), и окно должно отрисовыть всю клиентская область, а не только недопустимую область.

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

Функция AnimateWindow требует, чтобы анимированное окно реализовывалось сообщением WM_PRINTCLIENT .

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Winuser.h (включая Windows.h)

См. также раздел

Общие сведения о рисовании и рисовании

Рисование и рисование сообщений

AnimateWindow

BeginPaint

EndPaint

WM_PAINT