SelectPalette
La función SelectPalette selecciona la paleta lógica especificada dentro de un contexto de dispositivo.
Sintaxis
HPALETTE SelectPalette( HDC hdc, // manipulador de contexto de dispositivo HPALETTE hpal, // manipulador de paleta lógica de colores BOOL bForceBackground // modo de primer plano/fondo );
Parámetros
hdc: identifica el contexto de dispositivo.
hpal: identifica la paleta lógica a seleccionar.
bForceBackground: especifica si la paleta lógica es forzada a ser una paleta de fondo. Si este valor es TRUE, la función RealizePalette hace que la paleta lógica proyecte los colores ya presentes en la paleta física de la mejor manera posible. Esto se hace siempre, aunque la ventana para la que se active la paleta se pertenezca a un proceso que no tiene el foco.
Si este valor es FALSE, RealizePalette hace que la paleta lógica se copie dentro de la paleta del dispositivo cuando la aplicación esté en primer plano. (Si el parámetro hdc es un contexto de dispositivo de memoria, este parámetro se ignora).
Valor de retorno
Si la función tiene éxito, el valor de retorno es identifica la paleta previa del contexto de dispositivo.
Si la función falla, el valor de retorno es NULL. Para obtener mayor información sobre el error, llamar a GetLastError.
Observaciones
Para determinar si un dispositivo soporta operaciones de paleta se puede usar la función GetDeviceCaps, especificando la constante RASTERCAPS.
Se puede seleccionar una paleta lógica dentro de más de un contexto de dispositivo. Sin embargo, los cambios en una paleta lógica no afectarán a todos los contextos de dispositivo en los que haya sido seleccionada.
Es posible llamar a la función SelectPalette con el valor TRUE para el parámetro bForceBackground cada una de las ventanas hijas de una ventana de nivel máximo (top-level) activa su propia paleta. Sin embargo, sólo las ventanas hijas que necesiten realizar sus paletas deben usar TRUE para el parámetro bForceBackground; el resto de las ventanas hijas deben usar el valor FALSE para ese parámetro.