首页 > 代码库 > 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 修改系统颜色