Сообщение WM_PRINTCLIENT отправляется к окну для того, чтобы потребовать от него рисовать свою рабочую область в контексте заданного устройства, обычно в контексте устройства принтера.
Окно получает это сообщение через свою функцию WindowProc.
LRESULT CALLBACK WindowProc( HWND hwnd, // дескриптор окна UINT uMsg, // WM_PRINTCLIENT WPARAM wParam, // дескриптор DC (HDC) LPARAM lParam // параметры рисования ); |
Дескриптор контекста устройства, в котором происходит рисование.
lParamОпределяет параметры рисования. Этот параметр, может быть один или несколько из нижеследующих значений.
Значение |
Предназначение |
---|---|
PRF_CHECKVISIBLE | Рисует окно только тогда, если оно видимо. |
PRF_CHILDREN | Рисует все видимые окна дочерних элементов. |
PRF_CLIENT | Рисует рабочую область окна. |
PRF_ERASEBKGND | Стирает фон перед тем, как рисуется окно. |
PRF_NONCLIENT | Рисует нерабочую область окна. |
PRF_OWNED | Рисует все находящиеся в собственности окна. |
Окно может обработать это сообщение в почти такой же манере как и WM_PAINT, за исключением того, что функции BeginPaint и EndPaint не должны быть вызванными (контекст устройства предоставляется), а окно должно рисовать всю свою рабочую область, а не только недопустимый регион.
Windows, которая это сообщение может использовать где угодно в системе, например в органах управления, должна обрабатывать это сообщение. Вероятно для других окон обрабатывать это сообщение также стоит, потому что это относительно легко реализовать.
Функция AnimateWindow требует, чтобы это окно при анимации реализовало сообщение WM_PRINTCLIENT.
Обзор Окрашивание и рисование, Сообщения окрашивания и рисования, AnimateWindow, BeginPaint, EndPaint, WM_PAINT
Размещение и совместимость WM_PRINTCLIENT |
||
К | Windows Vista | Да |
л | Windows XP | Да |
и | Windows 2000 Professional | Да |
е | Windows NT Workstation | Да версии 4.0 и выше |
н | Windows Me | Да |
т | Windows 98 | Да |
Windows 95 | Да | |
С | Windows Server 2008 | Да |
е | Windows Server 2003 | Да |
р | Windows 2000 Server | Да |
в | Windows NT Server | Да версии 4.0 и выше |
е | ||
р | ||
Используемая библиотека | - | |
Используемая DLL | - | |
Заголовочный файл | ||
- объявлено в | Winuser.h | |
- включено в | Windows.h | |
Unicode | - | |
Замечания по платформе | Не имеется |