Сообщение 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 | Нет | |
Замечания по платформе | Не имеется |