Функция GetSysColor (winuser.h)

Извлекает текущий цвет указанного отображаемого элемента. Элементы отображения — это части окна и дисплея, которые отображаются на системном экране.

Синтаксис

DWORD GetSysColor(
  [in] int nIndex
);

Параметры

[in] nIndex

Тип: int

Элемент отображения, цвет которого требуется извлечь. Этот параметр может принимать одно из указанных ниже значений.

Значение Значение
COLOR_3DDKSHADOW
21
Темная тень для трехмерных элементов отображения.

Windows 10 или более поздней версии: Это значение не поддерживается.

COLOR_3DFACE
15
Цвет лица для трехмерных элементов отображения и фона диалоговых окон.
COLOR_3DHIGHLIGHT
20
Цвет выделения для трехмерных элементов отображения (для краев, обращенных к источнику света).

Windows 10 или более поздней версии: Это значение не поддерживается.

COLOR_3DHILIGHT
20
Цвет выделения для трехмерных элементов отображения (для краев, обращенных к источнику света).

Windows 10 или более поздней версии: Это значение не поддерживается.

COLOR_3DLIGHT
22
Светлый цвет для трехмерных элементов отображения (для краев, обращенных к источнику света).

Windows 10 или более поздней версии: Это значение не поддерживается.

COLOR_3DSHADOW
16
Цвет тени для трехмерных элементов отображения (для краев, обращенных вдали от источника света).

Windows 10 или более поздней версии: Это значение не поддерживается.

COLOR_ACTIVEBORDER
10
Активная граница окна.

Windows 10 или более поздней версии: Это значение не поддерживается.

COLOR_ACTIVECAPTION
2
Активная строка заголовка окна.

Соответствующий цвет переднего плана COLOR_CAPTIONTEXT.

Указывает цвет левой стороны в цветовом градиенте заголовка активного окна, если эффект градиента включен.

Windows 10 или более поздней версии: Это значение не поддерживается.

COLOR_APPWORKSPACE
12
Цвет фона приложений с несколькими документами (MDI).

Windows 10 или более поздней версии: Это значение не поддерживается.

COLOR_BACKGROUND
1
Настольные ПК.

Windows 10 или более поздней версии: Это значение не поддерживается.

COLOR_BTNFACE
15
Цвет лица для трехмерных элементов отображения и фона диалоговых окон. Соответствующий цвет переднего плана COLOR_BTNTEXT.

Windows 10 или более поздней версии: Это значение не поддерживается.

COLOR_BTNHIGHLIGHT
20
Цвет выделения для трехмерных элементов отображения (для краев, обращенных к источнику света).

Windows 10 или более поздней версии: Это значение не поддерживается.

COLOR_BTNHILIGHT
20
Цвет выделения для трехмерных элементов отображения (для краев, обращенных к источнику света).

Windows 10 или более поздней версии: Это значение не поддерживается.

COLOR_BTNSHADOW
16
Цвет тени для трехмерных элементов отображения (для краев, обращенных вдали от источника света).

Windows 10 или более поздней версии: Это значение не поддерживается.

COLOR_BTNTEXT
18
Текст на кнопках. Соответствующий цвет фона COLOR_BTNFACE.
COLOR_CAPTIONTEXT
9
Текст в подпись, поле размера и стрелка полосы прокрутки. Соответствующий цвет фона COLOR_ACTIVECAPTION.

Windows 10 или более поздней версии: Это значение не поддерживается.

COLOR_DESKTOP
1
Настольные ПК.

Windows 10 или более поздней версии: Это значение не поддерживается.

COLOR_GRADIENTACTIVECAPTION
27
Цвет правой стороны в цветовом градиенте заголовка активного окна. COLOR_ACTIVECAPTION задает цвет левой стороны. Используйте SPI_GETGRADIENTCAPTIONS с функцией SystemParametersInfo , чтобы определить, включен ли эффект градиента.

Windows 10 или более поздней версии: Это значение не поддерживается.

COLOR_GRADIENTINACTIVECAPTION
28
Цвет правой стороны в цветовом градиенте заголовка неактивного окна. COLOR_INACTIVECAPTION задает цвет левой стороны.

Windows 10 или более поздней версии: Это значение не поддерживается.

COLOR_GRAYTEXT
17
Серый (отключенный) текст. Этот цвет имеет значение 0, если текущий драйвер дисплея не поддерживает сплошной серый цвет.
COLOR_HIGHLIGHT
13
Элементы, выбранные в элементе управления. Соответствующий цвет переднего плана COLOR_HIGHLIGHTTEXT.
COLOR_HIGHLIGHTTEXT
14
Текст элементов, выбранных в элементе управления. Соответствующий цвет фона COLOR_HIGHLIGHT.
COLOR_HOTLIGHT
26
Цвет гиперссылки или элемента с горячим отслеживанием. Соответствующий цвет фона COLOR_WINDOW.
COLOR_INACTIVEBORDER
11
Неактивная граница окна.

Windows 10 или более поздней версии: Это значение не поддерживается.

COLOR_INACTIVECAPTION
3
Подпись неактивного окна.

Соответствующий цвет переднего плана COLOR_INACTIVECAPTIONTEXT.

Указывает цвет левой стороны в цветовом градиенте заголовка неактивного окна, если эффект градиента включен.

Windows 10 или более поздней версии: Это значение не поддерживается.

COLOR_INACTIVECAPTIONTEXT
19
Цвет текста в неактивном подпись. Соответствующий цвет фона COLOR_INACTIVECAPTION.

Windows 10 или более поздней версии: Это значение не поддерживается.

COLOR_INFOBK
24
Цвет фона для элементов управления подсказками. Соответствующий цвет переднего плана COLOR_INFOTEXT.

Windows 10 или более поздней версии: Это значение не поддерживается.

COLOR_INFOTEXT
23
Цвет текста для элементов управления подсказками. Соответствующий цвет фона COLOR_INFOBK.

Windows 10 или более поздней версии: Это значение не поддерживается.

COLOR_MENU
4
Фон меню. Соответствующий цвет переднего плана COLOR_MENUTEXT.

Windows 10 или более поздней версии: Это значение не поддерживается.

COLOR_MENUHILIGHT
29
Цвет, используемый для выделения пунктов меню, когда меню отображается как плоское (см. Раздел SystemParametersInfo). Выделенный пункт меню выделен COLOR_HIGHLIGHT.

Windows 2000, Windows 10 или более поздней версии: Это значение не поддерживается.

COLOR_MENUBAR
30
Цвет фона для строки меню, когда меню отображаются как плоские меню (см. Раздел SystemParametersInfo). Однако COLOR_MENU продолжает указывать цвет фона всплывающего меню.

Windows 2000, Windows 10 или более поздней версии: Это значение не поддерживается.

COLOR_MENUTEXT
7
Текст в меню. Соответствующий цвет фона COLOR_MENU.

Windows 10 или более поздней версии: Это значение не поддерживается.

COLOR_SCROLLBAR
0
Серая область полосы прокрутки.

Windows 10 или более поздней версии: Это значение не поддерживается.

COLOR_WINDOW
5
Фон окна. Связанные цвета переднего плана — это COLOR_WINDOWTEXT и COLOR_HOTLITE.
COLOR_WINDOWFRAME
6
Рамка окна.

Windows 10 или более поздней версии: Это значение не поддерживается.

COLOR_WINDOWTEXT
8
Текст в окнах. Соответствующий цвет фона 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

См. также раздел

CreateSolidBrush

GetSysColorBrush

SetSysColors

SystemParametersInfo