SelectPalette 函数 (wingdi.h)
SelectPalette 函数将指定的逻辑调色板选择到设备上下文中。
语法
HPALETTE SelectPalette(
[in] HDC hdc,
[in] HPALETTE hPal,
[in] BOOL bForceBkgd
);
参数
[in] hdc
设备上下文的句柄。
[in] hPal
要选择的逻辑调色板的句柄。
[in] bForceBkgd
指定逻辑调色板是否强制为背景调色板。 如果此值为 TRUE,则 RealizePalette 函数会以最佳方式将逻辑调色板映射到物理调色板中已有的颜色。 即使实现调色板的窗口属于没有活动焦点的线程,也始终会这样做。
如果此值为 FALSE,则当应用程序位于前台时, RealizePalette 会将逻辑调色板复制到设备调色板中。 (如果 hdc 参数是内存设备上下文,则忽略此参数。)
返回值
如果函数成功,则返回值是设备上下文上一个逻辑调色板的句柄。
如果函数失败,则返回值为 NULL。
注解
应用程序可以通过调用 GetDeviceCaps 函数并指定 RASTERCAPS 常量来确定设备是否支持调色板操作。
仅当设备上下文兼容时,应用程序才能将逻辑调色板选择到多个设备上下文中。 否则 SelectPalette 将失败。 若要创建与另一个设备上下文兼容的设备上下文,请使用第一个设备上下文作为 参数调用 CreateCompatibleDC 。 如果将逻辑调色板选入多个设备上下文,则对逻辑调色板的更改将影响为其选择的所有设备上下文。
如果顶级窗口的子窗口各自实现自己的调色板,应用程序可能会调用将 bForceBackground 参数设置为 TRUE 的 SelectPalette 函数。 但是,只有需要实现其调色板的子窗口必须将 bForceBackground 设置为 TRUE;其他子窗口必须将此值设置为 FALSE。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | wingdi.h (包括 Windows.h) |
Library | Gdi32.lib |
DLL | Gdi32.dll |