首页 > 代码库 > SetSysColors 修改系统颜色
SetSysColors 修改系统颜色
首先我们来看一下SetSysColors函数的原型:
BOOL WINAPI SetSysColors(__in int cElements, //要改变的对象的数量__in const INT* lpaElements, //按引用传递。这是一个整数数组(总共包含cElements个元素)。每个条目都包含了一个常量,指定一个windows显示对象。__in const COLORREF* lpaRgbValues //按引用传递。这是RGB值数组,该数组用于设置lpSysColor数组中的对象颜色);
我们编写源代码:
int aiElements[] = { COLOR_BACKGROUND, COLOR_DESKTOP, COLOR_ACTIVEBORDER, COLOR_ACTIVECAPTION, COLOR_WINDOW }; DWORD aColors[] = { RGB(138, 200, 255), RGB(0, 80, 150), RGB(0x80, 0x00, 0x80), RGB(0x00, 0x80, 0x80), RGB(0xC0, 0xC0, 0xC0), }; SetSysColors(5, aiElements, aColors);
SetSysColors的lpaElements可以取值为:
-------------------------------------------------------------------------------------
COLOR_3DLIGHT 以亮色显示时立体元件的颜色
COLOR_3DSHADOW 立体元件的阴影颜色
COLOR_BTNSHADOW 按钮阴影颜色
COLOR_ACTIVEBORDER 边界颜色
COLOR_ACTIVECAPTION 标题颜色
COLOR_BACKGROUND 背景颜色
COLOR_BTNTEXT 按钮颜色
COLOR_CAPTIONTEXT 窗口拦字符颜色
COLOR_GRAYTEXT 灰色显示的文本的颜色
COLOR_DESKTOP 桌面的颜色
COLOR_HIGHLIGHT 选定项的背景颜色
COLOR_HEGHLIGHTTEXT 选定项的字符的颜色
COLOR_MENUTEXT 菜单栏的颜色
COLOR_INFOTEXT 工具提示的文本的颜色
COLOR_INFOBK 工具提示的背景的颜色
COLOR_INACTIVECAPTIONTEXT 非活动标题栏中文本的颜色
COLOR_INACTIVECAPTION 非活动标题栏的颜色
COLOR_INACTIVEBORDER 非活动边界的颜色
COLOR_WINDOWTEXT 窗口字符的颜色
COLOR_WINDOWFRAME 窗口边框的颜色
COLOR_WINDOW 窗口背景颜色
COLOR_SCROLLBAR 滚动条的颜色
COLOR_3DHILIGHT 立体元件高亮显示时的颜色
COLOR_3DHIGHLIGHT 立体元件高亮显示时的颜色
COLOR_3DFACE 立体显示的元件的表面的颜色
COLOR_BTNFACE 立体显示的元件的表面的颜色
COLOR_3DDKSHADOW 立体显示的元件的阴影的颜色
SetSysColors 修改系统颜色