SetSystemPaletteUse, fonction (wingdi.h)
La fonction SetSystemPaletteUse permet à une application de spécifier si la palette système contient 2 ou 20 couleurs statiques. La palette système par défaut contient 20 couleurs statiques. (Les couleurs statiques ne peuvent pas être modifiées lorsqu’une application réalise une palette logique.)
Syntaxe
UINT SetSystemPaletteUse(
[in] HDC hdc,
[in] UINT use
);
Paramètres
[in] hdc
Handle pour le contexte de l’appareil. Ce contexte d’appareil doit faire référence à un appareil qui prend en charge les palettes de couleurs.
[in] use
Nouvelle utilisation de la palette système. Ce paramètre peut prendre les valeurs suivantes.
Valeur retournée
Si la fonction réussit, la valeur de retour est la palette système précédente. Il peut s’agir de SYSPAL_NOSTATIC, de SYSPAL_NOSTATIC256 ou de SYSPAL_STATIC.
Si la fonction échoue, la valeur de retour est SYSPAL_ERROR.
Remarques
Une application peut déterminer si un appareil prend en charge les opérations de palette en appelant la fonction GetDeviceCaps et en spécifiant la constante RASTERCAPS.
Lorsqu’une fenêtre d’application se déplace au premier plan et que la valeur SYSPAL_NOSTATIC est définie, l’application doit appeler la fonction GetSysColor pour enregistrer le paramètre de couleurs système actuel. Il doit également appeler SetSysColors pour définir des valeurs raisonnables en utilisant uniquement le noir et blanc. Lorsque l’application revient à l’arrière-plan ou se termine, les couleurs système précédentes doivent être restaurées.
Si la fonction retourne SYSPAL_ERROR, le contexte d’appareil spécifié n’est pas valide ou ne prend pas en charge les palettes de couleurs.
Une application doit appeler cette fonction uniquement lorsque sa fenêtre est agrandie et a le focus d’entrée.
Si une application appelle SetSystemPaletteUse avec uUsage défini sur SYSPAL_NOSTATIC, le système continue de réserver deux entrées dans la palette système pour le blanc pur et le noir pur, respectivement.
Après avoir appelé cette fonction avec uUsage défini sur SYSPAL_NOSTATIC, une application doit effectuer les étapes suivantes :
- Réalisez la palette logique.
- Appelez la fonction GetSysColor pour enregistrer les paramètres de couleur système actuels.
- Appelez la fonction SetSysColors pour définir les couleurs système sur des valeurs raisonnables en noir et blanc. Par exemple, les éléments adjacents ou qui se chevauchent (tels que les cadres de fenêtre et les bordures) doivent être définis en noir et blanc, respectivement.
- Envoyez le message WM_SYSCOLORCHANGE à d’autres fenêtres de niveau supérieur pour leur permettre d’être redessinées avec les nouvelles couleurs système.
- Appelez SetSystemPaletteUse avec le paramètre uUsage défini sur SYSPAL_STATIC.
- Réalisez la palette logique.
- Restaurez les couleurs système à leurs valeurs précédentes.
- Envoyez le message WM_SYSCOLORCHANGE .
Configuration requise
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | wingdi.h (inclure Windows.h) |
Bibliothèque | Gdi32.lib |
DLL | Gdi32.dll |