描述
SelectPalette功能将指定的逻辑调色板选择到设备上下文中。
C++ 语法
HPALETTE SelectPalette( __in HDC hdc, __in HPALETTE hpal, __in BOOL bForceBackground ); |
PowerBASIC 语法
FUNCTION SelectPalette ( _ BYVAL hdc AS DWORD, _ BYVAL hpal AS DWORD, _ BYVAL bForceBackground AS LONG _ ) AS DWORD |
参数
hdc
[in]处理设备上下文。
hpal
[in]处理要选择的逻辑调色板。
bForceBackground
[in]指定逻辑调色板是否被强制为背景调色板。如果此值为TRUE,则RealizePalette函数将使逻辑调色板以最佳方式映射到物理调色板中已经存在的颜色。这总是完成,即使实现调色板的窗口属于没有主动对焦的线程。
如果此值为FALSE,则当应用程序处于前台时,RealizePalette将使逻辑调色板复制到设备调色板中。(如果hdc参数是内存设备上下文,则忽略此参数。)
返回值
如果函数成功,则返回值是设备上一个上一个逻辑调色板的句柄。
如果函数失败,返回值为NULL。
Windows NT / 2000 / XP / Vista / Windows 7:要获取扩展错误信息,请调用GetLastError.
备注
应用程序可以通过调用GetDeviceCaps函数并指定RASTERCAPS常数来确定设备是否支持调色板操作。
如果设备上下文是兼容的,应用程序可以将逻辑调色板选择到多个设备上下文中。否则SelectPalette失败。要创建与其他设备上下文兼容的设备上下文,请使用第一个设备上下文作为参数调用CreateCompatibleDC.如果逻辑调色板被选择到多个设备上下文中,则对逻辑调色板的更改将影响所选设备的所有设备上下文。
如果顶级窗口的子窗口都实现自己的调色板,则应用程序可能调用SelectPalette函数,将bForceBackground参数设置为TRUE。但是,只有需要实现其调色板的子窗口必须将bForceBackground设置为TRUE;其他子窗口必须将此值设置为FALSE。
引用文件 #INCLUDE Once
WinGdi.inc(包括Windows.inc)