SetSystemPaletteUse-Funktion (wingdi.h)
Mit der SetSystemPaletteUse-Funktion kann eine Anwendung angeben, ob die Systempalette 2 oder 20 statische Farben enthält. Die Standardsystempalette enthält 20 statische Farben. (Statische Farben können nicht geändert werden, wenn eine Anwendung eine logische Palette erkennt.)
Syntax
UINT SetSystemPaletteUse(
[in] HDC hdc,
[in] UINT use
);
Parameter
[in] hdc
Ein Handle für den Gerätekontext. Dieser Gerätekontext muss auf ein Gerät verweisen, das Farbpaletten unterstützt.
[in] use
Die neue Verwendung der Systempalette. Dieser Parameter kann einen der folgenden Werte annehmen.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert die vorherige Systempalette. Dies kann entweder SYSPAL_NOSTATIC, SYSPAL_NOSTATIC256 oder SYSPAL_STATIC sein.
Wenn die Funktion fehlschlägt, wird der Rückgabewert SYSPAL_ERROR.
Hinweise
Eine Anwendung kann ermitteln, ob ein Gerät Palettenvorgänge unterstützt, indem sie die GetDeviceCaps-Funktion aufruft und die RASTERCAPS-Konstante angibt.
Wenn ein Anwendungsfenster in den Vordergrund wechselt und der wert für SYSPAL_NOSTATIC festgelegt ist, muss die Anwendung die GetSysColor-Funktion aufrufen, um die aktuelle Einstellung für Systemfarben zu speichern. Außerdem muss SetSysColors aufgerufen werden, um vernünftige Werte nur mit Schwarzweiß festzulegen. Wenn die Anwendung zum Hintergrund zurückkehrt oder beendet wird, müssen die vorherigen Systemfarben wiederhergestellt werden.
Wenn die Funktion SYSPAL_ERROR zurückgibt, ist der angegebene Gerätekontext ungültig oder unterstützt keine Farbpaletten.
Eine Anwendung darf diese Funktion nur aufrufen, wenn ihr Fenster maximiert ist und den Eingabefokus hat.
Wenn eine Anwendung SetSystemPaletteUse aufruft, wobei uUsage auf SYSPAL_NOSTATIC festgelegt ist, setzt das System weiterhin zwei Einträge in der Systempalette für reines Weiß bzw. reines Schwarz fest.
Nach dem Aufrufen dieser Funktion, bei der uUsage auf SYSPAL_NOSTATIC festgelegt ist, muss eine Anwendung die folgenden Schritte ausführen:
- Realisieren Sie die logische Palette.
- Rufen Sie die GetSysColor-Funktion auf, um die aktuellen Systemfarbeinstellungen zu speichern.
- Rufen Sie die SetSysColors-Funktion auf, um die Systemfarben mithilfe von Schwarz und Weiß auf vernünftige Werte festzulegen. Beispielsweise sollten angrenzende oder überlappende Elemente (z. B. Fensterrahmen und Rahmen) auf schwarz bzw. weiß festgelegt werden.
- Senden Sie die WM_SYSCOLORCHANGE Nachricht an andere Fenster der obersten Ebene, damit sie mit den neuen Systemfarben neu gezeichnet werden können.
- Rufen Sie SetSystemPaletteUse auf, wobei der Parameter uUsage auf SYSPAL_STATIC festgelegt ist.
- Realisieren Sie die logische Palette.
- Stellen Sie die Systemfarben auf ihre vorherigen Werte wieder her.
- Senden Sie die WM_SYSCOLORCHANGE Nachricht.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | wingdi.h (windows.h einschließen) |
Bibliothek | Gdi32.lib |
DLL | Gdi32.dll |