### 函数功能

该函数允许一个应用指定系统调色板包含2个或20个静态颜色。缺省的系统调色板包含20个静态颜色（为一个应用映射一个逻辑调色板时，静态颜色不发生变化）。

### 函数原型

UINT SetSystemPaletteUse(HDC hdc, UINT uUsage)；

### 参数

hdc：设备环境句柄，该设备环境必须引用一个支持彩色调色板的设备。
uUsage：指定系统调色板的一个新的使用，该值可以是如下几种：
SYSPAL_NOSTATIC：系统调色板包含个静态颜色（黑色和白色）。
SYSPAL_NOSTATIC 256：Windows NT 5.0或以后版本，系统调色板不包含静态颜色。
SYSPAL_STATIC：系统调色板包含静态颜色，当一个应用映射它的逻辑调色板时这些静态颜色不发生变化。

### 返回值

如果成功，返回值是前一个系统调色板，它可以是SYSPAL_NOSTATIC。SYSPAL_NOSTATIC 256或SYSPAL_STATIC；如果失败，返回值是SYSPAL_ERROR。
Windows NT：若想获得更多错误信息，请调用GetLastError函数。
注释：通过调用GetDeviceCaps函数和指定RASTERCAPS常量，一个应用可以确定一个设备是否支持调色板操作。
当一个应用程序窗口移到前台，并且SYSPAL_NOSTATIC值已设置时，该应用必须调用GetSysColor函数来储存当前的系统颜色设值，它必须同时调用setsysColor函数仅使用黑色和白色来设置合理的值。当该应用回到后台或被中断，则以前的系统颜色必须被恢复。
如果该函数返回SYSPAL_ERROR，则指定的设备环境无效，或者不支持彩色调色板。当一个应用的窗口最大化并且有输入焦点时，必须调用该函数。当一个应用调用该函数并且uUsage设置为SYSPAL_NOSTATIC之后，它必须遵循如下的步骤：映射逻辑调色板。调用GetSysColor函数保存当前系统颜色设置。调用SetsysColor函数使用白色和黑色设置系统颜色为合理值。例如，相邻或重迭的项目（如窗口框和边界）应分别设置为黑色和白色。
发送WM_SYSCOLORCHANGE消息到其他的顶层窗口，让它们使用新的系统颜色刷新屏幕。
当该应用窗口关闭或失去焦点时，它必须做如下事情：
调用SetsystemrPalette函数并把uUsage参数设置为SYSPAL_STATIC，映射逻辑调色板。
把系统颜色恢复为以前的值，发送WM_SYSColoRCHANGE消息。

### 速查

Windows NT：3.1及以上版本；Windows：95及以上版本；Windows CE：不支持；头文件：wingdi.h；库文件：gdi32.lib。