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(, , ),
RGB(, , ),
RGB(0x80, 0x00, 0x80),
RGB(0x00, 0x80, 0x80),
RGB(0xC0, 0xC0, 0xC0),
}; SetSysColors(, 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               立体显示的元件的阴影的颜色

上一篇:CSS知识回顾--读《CSS 那些事儿》笔记


下一篇:3dContactPointAnnotationTool开发日志(三三)