Функция GetSysColor (winuser.h)
Извлекает текущий цвет указанного отображаемого элемента. Элементы отображения — это части окна и дисплея, которые отображаются на системном экране.
Синтаксис
DWORD GetSysColor(
[in] int nIndex
);
Параметры
[in] nIndex
Тип: int
Элемент отображения, цвет которого требуется извлечь. Этот параметр может принимать одно из указанных ниже значений.
Значение | Значение |
---|---|
|
Темная тень для трехмерных элементов отображения.
Windows 10 или более поздней версии: Это значение не поддерживается. |
|
Цвет лица для трехмерных элементов отображения и фона диалоговых окон. |
|
Цвет выделения для трехмерных элементов отображения (для краев, обращенных к источнику света). Windows 10 или более поздней версии: Это значение не поддерживается. |
|
Цвет выделения для трехмерных элементов отображения (для краев, обращенных к источнику света). Windows 10 или более поздней версии: Это значение не поддерживается. |
|
Светлый цвет для трехмерных элементов отображения (для краев, обращенных к источнику света). Windows 10 или более поздней версии: Это значение не поддерживается. |
|
Цвет тени для трехмерных элементов отображения (для краев, обращенных вдали от источника света).
Windows 10 или более поздней версии: Это значение не поддерживается. |
|
Активная граница окна.
Windows 10 или более поздней версии: Это значение не поддерживается. |
|
Активная строка заголовка окна.
Соответствующий цвет переднего плана COLOR_CAPTIONTEXT. Указывает цвет левой стороны в цветовом градиенте заголовка активного окна, если эффект градиента включен. Windows 10 или более поздней версии: Это значение не поддерживается. |
|
Цвет фона приложений с несколькими документами (MDI).
Windows 10 или более поздней версии: Это значение не поддерживается. |
|
Настольные ПК.
Windows 10 или более поздней версии: Это значение не поддерживается. |
|
Цвет лица для трехмерных элементов отображения и фона диалоговых окон. Соответствующий цвет переднего плана COLOR_BTNTEXT.
Windows 10 или более поздней версии: Это значение не поддерживается. |
|
Цвет выделения для трехмерных элементов отображения (для краев, обращенных к источнику света). Windows 10 или более поздней версии: Это значение не поддерживается. |
|
Цвет выделения для трехмерных элементов отображения (для краев, обращенных к источнику света). Windows 10 или более поздней версии: Это значение не поддерживается. |
|
Цвет тени для трехмерных элементов отображения (для краев, обращенных вдали от источника света).
Windows 10 или более поздней версии: Это значение не поддерживается. |
|
Текст на кнопках. Соответствующий цвет фона COLOR_BTNFACE. |
|
Текст в подпись, поле размера и стрелка полосы прокрутки. Соответствующий цвет фона COLOR_ACTIVECAPTION.
Windows 10 или более поздней версии: Это значение не поддерживается. |
|
Настольные ПК.
Windows 10 или более поздней версии: Это значение не поддерживается. |
|
Цвет правой стороны в цветовом градиенте заголовка активного окна. COLOR_ACTIVECAPTION задает цвет левой стороны. Используйте SPI_GETGRADIENTCAPTIONS с функцией SystemParametersInfo , чтобы определить, включен ли эффект градиента.
Windows 10 или более поздней версии: Это значение не поддерживается. |
|
Цвет правой стороны в цветовом градиенте заголовка неактивного окна. COLOR_INACTIVECAPTION задает цвет левой стороны.
Windows 10 или более поздней версии: Это значение не поддерживается. |
|
Серый (отключенный) текст. Этот цвет имеет значение 0, если текущий драйвер дисплея не поддерживает сплошной серый цвет. |
|
Элементы, выбранные в элементе управления. Соответствующий цвет переднего плана COLOR_HIGHLIGHTTEXT. |
|
Текст элементов, выбранных в элементе управления. Соответствующий цвет фона COLOR_HIGHLIGHT. |
|
Цвет гиперссылки или элемента с горячим отслеживанием. Соответствующий цвет фона COLOR_WINDOW. |
|
Неактивная граница окна.
Windows 10 или более поздней версии: Это значение не поддерживается. |
|
Подпись неактивного окна.
Соответствующий цвет переднего плана COLOR_INACTIVECAPTIONTEXT. Указывает цвет левой стороны в цветовом градиенте заголовка неактивного окна, если эффект градиента включен. Windows 10 или более поздней версии: Это значение не поддерживается. |
|
Цвет текста в неактивном подпись. Соответствующий цвет фона COLOR_INACTIVECAPTION.
Windows 10 или более поздней версии: Это значение не поддерживается. |
|
Цвет фона для элементов управления подсказками. Соответствующий цвет переднего плана COLOR_INFOTEXT.
Windows 10 или более поздней версии: Это значение не поддерживается. |
|
Цвет текста для элементов управления подсказками. Соответствующий цвет фона COLOR_INFOBK.
Windows 10 или более поздней версии: Это значение не поддерживается. |
|
Фон меню. Соответствующий цвет переднего плана COLOR_MENUTEXT.
Windows 10 или более поздней версии: Это значение не поддерживается. |
|
Цвет, используемый для выделения пунктов меню, когда меню отображается как плоское (см. Раздел SystemParametersInfo). Выделенный пункт меню выделен COLOR_HIGHLIGHT.
Windows 2000, Windows 10 или более поздней версии: Это значение не поддерживается. |
|
Цвет фона для строки меню, когда меню отображаются как плоские меню (см. Раздел SystemParametersInfo). Однако COLOR_MENU продолжает указывать цвет фона всплывающего меню.
Windows 2000, Windows 10 или более поздней версии: Это значение не поддерживается. |
|
Текст в меню. Соответствующий цвет фона COLOR_MENU.
Windows 10 или более поздней версии: Это значение не поддерживается. |
|
Серая область полосы прокрутки.
Windows 10 или более поздней версии: Это значение не поддерживается. |
|
Фон окна. Связанные цвета переднего плана — это COLOR_WINDOWTEXT и COLOR_HOTLITE. |
|
Рамка окна.
Windows 10 или более поздней версии: Это значение не поддерживается. |
|
Текст в окнах. Соответствующий цвет фона COLOR_WINDOW. |
Возвращаемое значение
Тип: DWORD
Функция возвращает значение цвета красного, зеленого, синего (RGB) данного элемента.
Если параметр nIndex выходит за пределы диапазона, возвращаемое значение равно нулю. Так как ноль также является допустимым rgb-значением, вы не можете использовать GetSysColor , чтобы определить, поддерживается ли системный цвет текущей платформой. Вместо этого используйте функцию GetSysColorBrush , которая возвращает значение NULL , если цвет не поддерживается.
Комментарии
Чтобы отобразить компонент значения RGB, используйте макросы GetRValue, GetGValue и GetBValue .
Системные цвета для монохромных дисплеев обычно интерпретируются как оттенки серого.
Для рисования с помощью системной цветовой кисти приложение должно использовать GetSysColorBrush(nIndex)
вместо CreateSolidBrush(GetSysColor(nIndex))
, так как GetSysColorBrush возвращает кэшированную кисть вместо выделения новой.
Цвет является важным визуальным элементом большинства пользовательских интерфейсов. Рекомендации по использованию цвета в приложениях см. в разделах Цвет — Win32 и Цвет в Windows 11.
Системные цвета Windows 10/11
В этой таблице показаны значения, которые поддерживаются в Windows 10 и Windows 11 со значениями цвета из темы Windows 11 водной контрастности.
Цветовая палитра | Описание |
---|---|
COLOR_WINDOWФон страниц, панелей, всплывающих окон и окон. Связывание с COLOR_WINDOWTEXT |
|
COLOR_WINDOWTEXTЗаголовки, копия текста, списки, замещающий текст, границы приложения и окна, любой пользовательский интерфейс, с которыми невозможно взаимодействовать. Связывание с COLOR_WINDOW |
|
COLOR_HOTLIGHTГиперссылки. Связывание с COLOR_WINDOW |
|
COLOR_GRAYTEXTНеактивный (отключенный) пользовательский интерфейс. Связывание с COLOR_WINDOW |
|
COLOR_HIGHLIGHTTEXTЦвет переднего плана для текста или пользовательского интерфейса, который выделен, взаимодействует с (наведен на указатель мыши, нажат) или выполняется. Связывание с COLOR_HIGHLIGHT |
|
COLOR_HIGHLIGHTЦвет фона или акцента для пользовательского интерфейса, который выбран, взаимодействует с (наведение указателя мыши, нажатие) или выполняется. Связывание с COLOR_HIGHLIGHTTEXT |
|
COLOR_BTNTEXTЦвет переднего плана для кнопок и любого пользовательского интерфейса, с которым можно взаимодействовать. Связывание с COLOR_3DFACE |
|
COLOR_3DFACEЦвет фона для кнопок и любого пользовательского интерфейса, с которыми можно взаимодействовать. Связывание с COLOR_BTNTEXT |
На этих изображениях показано, как выглядят цвета при использовании на фоне, настроенном для COLOR_WINDOW.
Пример | Значения |
---|---|
COLOR_WINDOWTEXT | |
COLOR_HOTLIGHT | |
COLOR_GRAYTEXT | |
COLOR_HIGHLIGHTTEXT + ВЫДЕЛЕНИЕ | |
COLOR_BTNTEXT + COLOR_3DFACE |
Примеры
Пример см. в разделе SetSysColors.
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | winuser.h (включая Windows.h) |
Библиотека | User32.lib |
DLL | User32.dll |