Сообщение WM_PRINT отправляется к окну для того, чтобы потребовать от него рисовать себя в контексте заданного устройства, обычно в контексте устройства принтера.
Окно получает это сообщение через свою функцию WindowProc.
LRESULT CALLBACK WindowProc( HWND hwnd, // дескриптор окна UINT uMsg, // WM_PRINT WPARAM wParam, // дескриптор DC (HDC) LPARAM lParam // параметры рисования ); |
Дескриптор контекста устройства, в котором происходит рисование.
lParamОпределяет параметры рисования. Этот параметр, может быть один или несколько из нижеследующих значений.
Значение |
Предназначение |
---|---|
PRF_CHECKVISIBLE | Рисует окно только тогда, если оно видимо. |
PRF_CHILDREN | Рисует все видимые окна дочерних элементов. |
PRF_CLIENT | Рисует рабочую область окна. |
PRF_ERASEBKGND | Стирает фон перед тем, как рисуется окно. |
PRF_NONCLIENT | Рисует нерабочую область окна. |
PRF_OWNED | Рисует все находящиеся в собственности окна. |
Функция DefWindowProc обрабатывает это сообщение, основываясь на параметре рисования, который был определен: если определен флажок PRF_CHECKVISIBLE, а окно не видимо, то ничего не делается, если определен флажок PRF_NONCLIENT, то рисуется нерабочая область в контексте заданного устройства, если определен флажок PRF_ERASEBKGND, то окну отправляется сообщение WM_ERASEBKGND, если определен флажок PRF_CLIENT, то окну отправляется сообщение WM_PRINTCLIENT, если установлен флажок PRF_CHILDREN, то каждому видимому дочернему окну отправляется сообщение WM_PRINT, если установлен флажок PRF_OWNED, то каждому видимому находящемуся в собственности окну отправляется сообщение WM_PRINT.
Обзор Окрашивание и рисование, Сообщения окрашивания и рисования, DefWindowProc, WM_ERASEBKGND, WM_PRINTCLIENT
Размещение и совместимость WM_PRINT |
||
К | 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 | - | |
Замечания по платформе | Не имеется |