The SelectPalette function selects the specified logical palette into a device context.
HPALETTE SelectPalette(
HDC hdc, | // handle of device context |
HPALETTE hpal, | // handle of logical color palette |
BOOL bForceBackground | // foreground/background mode |
); |
Parameters
hdc
Identifies the device context.
hpal
Identifies the logical palette to be selected.
bForceBackground
Specifies whether the logical palette is forced to be a background palette. If this value is TRUE, the RealizePalette function causes the logical palette to be mapped to the colors already in the physical palette in the best possible way. This is always done, even if the window for which the palette is realized belongs to a thread without active focus.
If this value is FALSE, RealizePalette causes the logical palette to be copied into the device palette when the application is in the foreground. (If the hdc parameter is a memory device context, this parameter is ignored.)
Return Values
If the function succeeds, the return value identifies the device context's previous logical palette.
If the function fails, the return value is NULL. To get extended error information, call GetLastError.
Remarks
An application can determine whether a device supports palette operations by calling the GetDeviceCaps function and specifying the RASTERCAPS constant.
An application can select a logical palette into more than one device context. However, changes to a logical palette will affect all device contexts for which it is selected.
An application might call the SelectPalette function with the bForceBackground parameter set to TRUE if the child windows of a top-level window each realize their own palettes. However, only the child window that needs to realize its palette must set bForceBackground to TRUE; other child windows must set this value to FALSE.
See Also