name="google_ads_frame" marginwidth="0" marginheight="0" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-5572165936844014&dt=1193665761703&lmt=1193665780&format=336x280_as&output=html&correlator=1193665761687&url=http%3A%2F%2Fwww.codeguru.cn%2Fpublic%2Fiframe%2Fwinapiiframe.htm&color_bg=FFFFFF&color_text=000000&color_link=000000&color_url=FFFFFF&color_border=FFFFFF&ad_type=text&ga_vid=1285758818.1193665762&ga_sid=1193665762&ga_hid=111695597&flash=9&u_h=768&u_w=1024&u_ah=740&u_aw=1024&u_cd=32&u_tz=480&u_his=8&u_java=true" frameborder="0" width="336" scrolling="no" height="280" allowtransparency="allowtransparency">
函数功能:该函数选择指定的逻辑调色板到一个设备环境中。
函数原型:HPALETTE SelectPalette(HDC hdc, HPALETTE hpal, BOOL bForceBackground);
参数:
hdc:设备环境句柄。
hpal:标识被选择的逻辑调色板。
bForceBackground:确定逻辑调色板是否被强行作为一个背景调色板,如果该值为TRUE RealizePalette函数就使逻辑调色板以最好的可能方式映射成物理调色板中已有的颜色,这种情况常发生;如果该值为FALSE,RealizePalette使逻辑调色板拷贝到设备调色板中,这时该应用在前景(如果hdc参数是一个内存设备环境,该参数被忽略)。
返回值:如果成功,返回值和设备环境以前的逻辑调色板相一致;如果失败返回值为NULL。
Windows NT:若想获得更多错误信息,请调用GetLastError函数。
注释:通过调用GetDevicecaps函数和定义RASTERCaps常数,一个应用可以确定一个设备是否支持调色板操作。
一个应用可以把一个逻辑调色板选入多个设备环境中,逻辑调色板的变化会影响所有的设备环境。
如果一个顶层窗口的每一个子窗口都映射自己的调色板,那么一个应用就可以在bForceBackground参数设为TRUE的情况下调用SelectPalette。但是只有需要映射它的调色板的子窗口必须把bForceBackground置为TRUE,其他的子窗口必须把该值设为FALSE。
Windows CE:Windows CE在前景应用和背景应用的调色板之间不做仲裁,因此WindowsCE忽略bForceBackground参数,把它当作始终是FALSE。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:2.0及以上版本;头文件:wingdi.h;库文件:gdi32.lib。
函数原型:HPALETTE SelectPalette(HDC hdc, HPALETTE hpal, BOOL bForceBackground);
参数:
hdc:设备环境句柄。
hpal:标识被选择的逻辑调色板。
bForceBackground:确定逻辑调色板是否被强行作为一个背景调色板,如果该值为TRUE RealizePalette函数就使逻辑调色板以最好的可能方式映射成物理调色板中已有的颜色,这种情况常发生;如果该值为FALSE,RealizePalette使逻辑调色板拷贝到设备调色板中,这时该应用在前景(如果hdc参数是一个内存设备环境,该参数被忽略)。
返回值:如果成功,返回值和设备环境以前的逻辑调色板相一致;如果失败返回值为NULL。
Windows NT:若想获得更多错误信息,请调用GetLastError函数。
注释:通过调用GetDevicecaps函数和定义RASTERCaps常数,一个应用可以确定一个设备是否支持调色板操作。
一个应用可以把一个逻辑调色板选入多个设备环境中,逻辑调色板的变化会影响所有的设备环境。
如果一个顶层窗口的每一个子窗口都映射自己的调色板,那么一个应用就可以在bForceBackground参数设为TRUE的情况下调用SelectPalette。但是只有需要映射它的调色板的子窗口必须把bForceBackground置为TRUE,其他的子窗口必须把该值设为FALSE。
Windows CE:Windows CE在前景应用和背景应用的调色板之间不做仲裁,因此WindowsCE忽略bForceBackground参数,把它当作始终是FALSE。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:2.0及以上版本;头文件:wingdi.h;库文件:gdi32.lib。