Сообщение WM_PALETTECHANGED отправляется всем верхнего уровня и перекрывающим окнам после того, как окно с фокусом клавиатуры реализует свою логическую палитру, таким образом изменяя системную палитру. Это сообщение разрешает окно, которое использует цветовую палитру, но не имеет фокуса клавиатуры, чтобы реализовать свою логическую палитру и модернизировать свою рабочую область.
Окно получает это сообщение через свою функцию WindowProc.
Синтаксис
LRESULT CALLBACK WindowProc( HWND hwnd, // дескриптор окна UINT uMsg, // WM_PALETTECHANGED WPARAM wParam, // дескриптор окна (HWND) LPARAM lParam // не используемый ); |
wParam
Дескриптор окна, которое заставило системную палитру измениться.
lParam
Этот параметр не используется.
Это сообщение должно отправиться ко всем верхнего уровня и перекрывающим окнам, включая то, которое изменило системную палитру. Если какие-либо дочерние окна используют цветовую палитру, это сообщение должно быть передано также и им.
Чтобы избежать создания бесконечного цикла, окно, которое получает это сообщение, не должно реализовать свою палитру до тех пор, пока оно не убедится в том, что wParam не содержит его собственный дескриптор окна.
Обзор Цвета, Сообщения, используемые цветом, WM_PALETTEISCHANGING, WM_QUERYNEWPALETTE
Размещение и совместимость WM_PALETTECHANGED |
||
К | Windows XP | Да |
л | Windows 2000 Professional | Да |
и | Windows NT Workstation | Да версии 3.1 и выше |
е | Windows Me | Да |
н | Windows 98 | Да |
т | Windows 95 | Да |
С | Windows Server 2003 | Да |
е | Windows 2000 Server | Да |
р | Windows NT Server | Нет |
в | ||
е | ||
р | ||
Используемая библиотека | - | |
Используемая DLL | - | |
Заголовочный файл | ||
- объявлено в | Winuser.h | |
- включено в | Windows.h | |
Unicode | Нет | |
Замечания по платформе | Не имеется |