SetSysColors 修改系统颜色

时间:2021-07-03 00:50:15

首先我们来看一下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               立体显示的元件的阴影的颜色

SetSysColors 修改系统颜色的更多相关文章

  1. EBS 修改系统颜色

    1)修改 配置文件: Java 色彩设计,选择相应的颜色 2)清理高速缓存 注:如果不清理缓存,则要等15分钟后才显示变成新设定的颜色

  2. android 修改系统的dialog样式

    android 修改系统的dialog样式 一.觉得自定义配置文件麻烦?那就来修改系统自定义XML文件来实现修改系统dialog的样式吧. 如果是在XML中样式:首先来说下样式.  在 Style.x ...

  3. Android修改状态栏颜色全方位教程

    关键字:状态栏着色 透明状态栏 沉浸式 白底黑字 Github Demo:https://github.com/imflyn/Eyes 参考文章: Android-transulcent-status ...

  4. Linux下修改系统编码的操作记录

    Linux系统安装后,发现中文显示乱码.因为系统编码为en_US.UTF-8,应改为支持中文的编码(即zh_CN.UTF-8)操作记录如下:1)检查linux的系统编码检查linux的系统编码,确定系 ...

  5. Android NumberPicker 修改分割线颜色和高度及字体颜色大小

    (1)重写NumberPicker已达到修改显示字体颜色大小 public class TextColorNumberPicker extends NumberPicker { public Text ...

  6. iOS开发——运行时OC篇&使用运行时获取系统的属性:使用自己的手势修改系统自带的手势

    使用运行时获取系统的属性:使用自己的手势修改系统自带的手势 有的时候我需要实现一个功能,但是没有想到很好的方法或者想到了方法只是那个方法实现起来太麻烦,一或者确实为了装逼,我们就会想到iOS开发中最牛 ...

  7. 在 Xen 虚拟机下修改系统当前时间

    在 Xen 虚拟机下修改系统当前时间 Xen 虚拟机默认不允许不同的虚拟机使用不同的系统时间,因此所有虚拟机的系统时间都会同宿主机的系统时间严格同步,用 date 命令修改虚拟机系统时间时虽然提示成功 ...

  8. Linux永久修改系统时间和时区方法

    修改时区: 1> 找到相应的时区文件 /usr/share/zoneinfo/Asia/Shanghai 用这个文件替换当前的/etc/localtime文件. 或者找你认为是标准时间的服务器, ...

  9. linux下修改系统时间

    一.查看时间: [root@localhost ~]# date2016年 11月 19日 星期六 12:46:37 CST 二.修改时间,修改系统时间 [root@localhost ~]# dat ...

随机推荐

  1. 轻松理解spring IOC

    spring IOC(Inversion of control)即控制反转 概念:一,spring框架的核心之一 二,控制权由对象本身转向容器:由容器根据配置文件去创建实例并创建各个实例之间的依赖关系 ...

  2. delphi 相对路径

    ..代表上级目录 .代表当前目录 \代表目录分隔 ..\..\表上上一级目录

  3. pylons使用多个数据库(multiple DB)

    最近做的工程要修改成两个数据库的,一个测试数据库, 一个线上数据库. 所以就要把原来的只有一个数据库的改成两个数据库. 第一步:修改development.ini # SQLAlchemy datab ...

  4. linux搭建svn版本管理器

    安装SVN [root@localhost modules]#yum install subversion 验证安装 检验已经安装的SVN版本信息[root@localhost modules]# s ...

  5. <转>eclipse如何修改dynamic web module version .

         --------------------------------------------------------------------------------------------- 原 ...

  6. (C#)Windows Shell 编程系列1 - 基础,浏览一个文件夹

    原文 (C#)Windows Shell 编程系列1 - 基础,浏览一个文件夹 (本系列文章由柠檬的(lc_mtt)原创,转载请注明出处,谢谢-) Windows Shell 编程,即 Windows ...

  7. unix shell: ksh fundamental(Korn Shell)

    Korn Shell 参考:ksh 学习 http://bbs.chinaunix.net/thread-1749811-1-1.html 1.语法 特殊的文件 /etc/profile 在登录时首先 ...

  8. 如何探测网络设备ACL规则

    探测网络设备ACL规则 背景:在互联网企业的生产网络中,往往在网络入口处的网络设备上会有成千上万条ACL策略,这么多的ACL导致了网络管理员很难彻底梳理清楚其中的逻辑关系,从而不知道到底对外开放了哪些 ...

  9. unix域数据报回射程序(不完整)

    一.服务器程序 int main(int argc, char **argv) { int sockfd; struct sockaddr_un servaddr, cliaddr; sockfd = ...

  10. 【题解】Luogu P5313 僕たちはひとつの光([Ynoi2012]D2T2)

    原题传送门 lovelive好评 比赛时只拿到了60pts,还是自己太菜了 这题的思想实际有点像Luogu P3674 小清新人渣的本愿与Luogu P5071 [Ynoi2015]此时此刻的光辉 这 ...