Сообщение WM_SYSCOLORCHANGE отправляется всем окнам верхнего уровня, когда делается изменение в параметрах системного цвета.
Окно получает это сообщение через свою функцию WindowProc.
Синтаксис
LRESULT CALLBACK WindowProc( HWND hwnd, // дескриптор окна UINT uMsg, // WM_SYSCOLORCHANGE WPARAM wParam, // не используемый LPARAM lParam // не используемый ); |
У этого сообщения нет параметров.
Система отправляет сообщение WM_PAINT любому окну, на которое оказывается влияние изменением системного цвета.
Приложения, которые имеют кисти, использующие существующие системные цвета, должны удалить эти кисти и обновить их используя новые системные цвета.
Окна верхнего уровня, которые используют стандартные органы управления, должны отправить сообщение WM_SYSCOLORCHANGE органам управления; иначе, органы управления не будут уведомлены об изменении цвета. Это гарантирует то, что цвета, используемые вашими стандартными органами управления, совместимы с используемыми другими объектами пользовательского интерфейса. Например, орган управления инструментальной панели использует цвет трехмерных объектов (3D Objects) , чтобы рисовать его кнопки. Если пользователь изменит цвет "трехмерные объекты", но сообщение WM_SYSCOLORCHANGE не будет отправлено инструментальной панели, то кнопки инструментальной панели останутся в их первоначальном цвете, в то время как цвет других кнопок в системе изменится.
Обзор Цвета, Сообщения, используемые цветом, WM_PAINT
|
Размещение и совместимость WM_SYSCOLORCHANGE |
||
| К | 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 | Нет | |
| Замечания по платформе | Не имеется | |