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 返回缓存的画笔,而不是分配新的画笔。
颜色是大多数用户界面中重要的视觉元素。 有关在应用程序中使用颜色的指南,请参阅 Color - Win32 和 Color 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 | |
COLOR_BTNTEXT + COLOR_3DFACE |
示例
有关示例,请参阅 SetSysColors。
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | winuser.h (包括 Windows.h) |
Library | User32.lib |
DLL | User32.dll |