Сообщение WM_SYNCPAINT используется, чтобы синхронизировать рисование, наряду с тем, чтобы избежать соединения независимых потоков GUI.
Окно получает это сообщение через свою функцию WindowProc.
LRESULT CALLBACK WindowProc( HWND hwnd, // дескриптор окна UINT uMsg, // WM_SYNCPAINT WPARAM wParam, // не используется LPARAM lParam // не используется ); |
У этого сообщения нет никаких параметров.
Приложение возвращает нуль, если оно обрабатывает это сообщение.
Когда окно было скрывается, показывается, перемещается или были изменены его размеры, то система может решить, что ей необходимо отправить сообщение WM_SYNCPAINT окнам верхнего уровня других потоков. Приложения должны передать WM_SYNCPAINT в функцию DefWindowProc для того, чтобы сообщение было обработано. Функция DefWindowProc отправит сообщение WM_NCPAINT оконной процедуре, если рамка окна должна краситься, и отправить сообщение WM_ERASEBKGND, если фон окна должен быть стерт.
Обзор Окрашивание и рисование, Сообщения окрашивания и рисования, DefWindowProc, GetDCEx, GetWindowDC, WM_PAINT
Размещение и совместимость WM_SYNCPAINT |
||
К | Windows Vista | Да |
л | Windows XP | Да |
и | Windows 2000 Professional | Да |
е | Windows NT Workstation | Нет |
н | Windows Me | Да |
т | Windows 98 | Да |
Windows 95 | Нет | |
С | Windows Server 2008 | Да |
е | Windows Server 2003 | Да |
р | Windows 2000 Server | Да |
в | Windows NT Server | Нет |
е | ||
р | ||
Используемая библиотека | - | |
Используемая DLL | - | |
Заголовочный файл | ||
- объявлено в | Winuser.h | |
- включено в | Windows.h | |
Unicode | - | |
Замечания по платформе | Не имеется |