Функция GetSysColor извлекает текущий цвет указанного элемента изображения. Элементы (примитивы) изображения - это части окна и изображения, которые применяются системой для вывода на экран изображения.
Синтаксис
DWORD GetSysColor( int nIndex // элемент изображения ); |
Параметры
Значение | Предназначение |
---|---|
COLOR_3DDKSHADOW | Темная тень для трехмерных элементов изображения. |
COLOR_3DFACE, COLOR_BTNFACE | Цвет грани для трехмерных элементов изображения и для фонов диалогового окна. |
COLOR_3DHILIGHT, COLOR_3DHIGHLIGHT, COLOR_BTNHILIGHT, COLOR_BTNHIGHLIGHT | Цвет выделения для трехмерных элементов изображения (для граней, стоящих перед источником освещения). |
COLOR_3DLIGHT | Светлый цвет для трехмерных элементов изображения (для граней, стоящих перед источником освещения). |
COLOR_3DSHADOW, COLOR_BTNSHADOW | Цвет тени для трехмерных элементов изображения (для граней, стоящих далеко от источника освещения). |
COLOR_ACTIVEBORDER | Рамка активного окна. |
COLOR_ACTIVECAPTION | Область заголовка активного
окна.
Windows 98/Me, Windows 2000/XP: Устанавливает цвет левой стороны в градиенте цвета области заголовка активного окна, если действие градиента разрешено. |
COLOR_APPWORKSPACE | Цвет фона многодокументного интерфейса (MDI) приложения. |
COLOR_BACKGROUND, COLOR_DESKTOP | Рабочий стол (Desktop). |
COLOR_BTNTEXT | Текст на командных кнопках. |
COLOR_CAPTIONTEXT | Текст в заголовке, блоке управленя размером, и окошко с изображением стрелки линейки прокрутки. |
COLOR_GRADIENTACTIVECAPTION | Windows 98/Me, Windows 2000/XP: Цвет правой стороны в градиенте цвета области заголовка активного окна. COLOR_ACTIVECAPTION устанавливает цвет левой стороны. Используйте SPI_GETGRADIENTCAPTIONS с функцией SystemParametersInfo, чтобы выяснить, разрешается ли действие градиента. |
COLOR_GRADIENTINACTIVECAPTION | Windows 98/Me, Windows 2000/XP: Цвет правой стороны в градиенте цвета области заголовка неактивного окна. COLOR_INACTIVECAPTION устанавливает цвет левой стороны. |
COLOR_GRAYTEXT | Серый (заблокированный) текст. Этот цвет устанавливается в 0, если текущий драйвер дисплея не поддерживает сплошной серый цвет. |
COLOR_HIGHLIGHT | Элемент (ы) выбранные в органе управления. |
COLOR_HIGHLIGHTTEXT | Текст элемента (ов) выбранных в органе управления. |
COLOR_HOTLIGHT | Windows 98/Me, Windows 2000/XP: Цвет для подсветки пункта меню под курсором мыши. Единственный щелчок по подсвеченному пункту меню под курсором мыши исполняет этот пункт. |
COLOR_INACTIVEBORDER | Рамка неактивного окна. |
COLOR_INACTIVECAPTION | Заголовок неактивного окна.
Windows 98/Me, Windows 2000/XP: Устанавливает цвет левой стороны в градиенте цвета области заголовка неактивного окна, если действие градиента разрешается. |
COLOR_INACTIVECAPTIONTEXT | Цвет текста в неактивном заголовке. |
COLOR_INFOBK | Цвет фона для всплывающей подсказки к органам управления. |
COLOR_INFOTEXT | Цвет текста для всплывающих подсказок к органам управления. |
COLOR_MENU | Фон меню. |
COLOR_MENUHILIGHT | Windows XP: Цвет, используемый для выделения пунктов меню, когда меню показывается как одноуровневое (линейное) (смоти описание функции SystemParametersInfo). Выделенный пункт меню изложен в строке COLOR_HIGHLIGHT. |
COLOR_MENUBAR | Windows XP: Цвет фона для строки меню, когда меню показываются как одноуровневые (смотри описание SystemParametersInfo). Однако, COLOR_MENU продолжает задавать цвет фона всплывающего меню. |
COLOR_MENUTEXT | Текст в меню. |
COLOR_SCROLLBAR | Серая область линейки прокрутки. |
COLOR_WINDOW | Фон окна. |
COLOR_WINDOWFRAME | Рамка окна. |
COLOR_WINDOWTEXT | Текст в окнах. |
Возвращаемые значения
Функция возвращает значения красного, зеленого, синего (RGB) кодов цвета данного элемента.
Если параметр nIndex - вне диапазона допустимых значений, возвращаемое значение равняется нулю. Поскольку нуль - тоже допустимое RGB - значение, Вы не можете использовать GetSysColor, чтобы выяснить, поддерживается ли системный цвет текущей платформой. Вместо этого, используйте функцию GetSysColorBrush, которая возвращает значение ПУСТО (NULL), если цвет не поддерживается.
Замечания
Системные цвета для монохромных дисплеев обычно интерпретируются как оттенки серого.
Чтобы окрашивать кистью системного цвета, приложение должно использовать GetSysColorBrush (nIndex) вместо CreateSolidBrush (GetSysColor (nIndex)), потому что GetSysColorBrush возвращает кэшируемую кисть (вместо того, чтобы назначить новую).
Код примера
Пример, см. в статье Изменение цветов элементов окна.
Смотри также
Обзор Системная информация, Функции, используемые системной информацией, CreateSolidBrush, GetSysColorBrush, SetSysColors, SystemParametersInfo
Размещение и совместимость GetSysColor |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Да версии 3.1 и выше |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Да |
Используемая библиотека |
User32.lib |
Заголовочный файл |
|
- объявлено в |
Winuser.h |
- включено в |
Windows.h |
Unicode |
Нет |
Замечания по платформе |
Не имеется |