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 值的分量,请使用 GetRValueGetGValueGetBValue 宏。

单色显示器的系统颜色通常解释为灰色阴影。

若要使用系统颜色画笔进行绘制,应用程序应使用 GetSysColorBrush(nIndex)而不是 CreateSolidBrush(GetSysColor(nIndex)),因为 GetSysColorBrush 返回缓存的画笔,而不是分配新的画笔。

颜色是大多数用户界面中重要的视觉元素。 有关在应用程序中使用颜色的指南,请参阅 Color - Win32Color in Windows 11

Windows 10/11 系统颜色

下表显示了Windows 10和Windows 11中支持的值,以及Windows 11水生对比度主题中的颜色值。

颜色样本 说明
COLOR_WINDOW
页面、窗格、弹出窗口和窗口的背景。

与 COLOR_WINDOWTEXT 配对

COLOR_WINDOWTEXT标题、正文副本、列表、占位符文本、应用和窗口边框,以及无法与之交互的任何 UI。

与COLOR_WINDOW配对
COLOR_HOTLIGHT
链接。

与COLOR_WINDOW配对

COLOR_GRAYTEXT非活动 (禁用) UI。

与COLOR_WINDOW配对

COLOR_HIGHLIGHTTEXT处于选定状态、与悬停 (交互的文本或 UI 的前景色、按下) 或正在进行中。

与COLOR_HIGHLIGHT配对
COLOR_HIGHLIGHT
处于选定状态、与 (悬停交互、按下) 或正在进行的 UI 的背景色或主题色。

与COLOR_HIGHLIGHTTEXT配对
COLOR_BTNTEXT
按钮和可以与之交互的任何 UI 的前景色。

与COLOR_3DFACE配对
COLOR_3DFACE
按钮和可以与之交互的任何 UI 的背景色。

与COLOR_BTNTEXT配对

这些图像显示在设置为 COLOR_WINDOW的背景上使用时颜色的显示方式。

示例
使用窗口文本颜色显示文本的窗口。 COLOR_WINDOWTEXT
具有使用热光颜色的超链接文本的窗口。 COLOR_HOTLIGHT
使用灰色文本颜色显示非活动文本的窗口。 COLOR_GRAYTEXT
一个窗口,其中包含使用突出显示颜色上的突出显示文本颜色的文本。 COLOR_HIGHLIGHTTEXT + HIGHLIGHT
一个窗口,其中包含使用 3d 人脸颜色的按钮文本和按钮文本的按钮文本。 COLOR_BTNTEXT + COLOR_3DFACE

示例

有关示例,请参阅 SetSysColors

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 winuser.h (包括 Windows.h)
Library User32.lib
DLL User32.dll

另请参阅

CreateSolidBrush

GetSysColorBrush

SetSysColors

SystemParametersInfo