Funzione SetSystemPaletteUse (wingdi.h)
La funzione SetSystemPaletteUse consente a un'applicazione di specificare se la tavolozza di sistema contiene 2 o 20 colori statici. La tavolozza predefinita del sistema contiene 20 colori statici. I colori statici non possono essere modificati quando un'applicazione realizza una tavolozza logica.
Sintassi
UINT SetSystemPaletteUse(
[in] HDC hdc,
[in] UINT use
);
Parametri
[in] hdc
Handle per il contesto del dispositivo. Questo contesto di dispositivo deve fare riferimento a un dispositivo che supporta le tavolozze dei colori.
[in] use
Nuovo uso della tavolozza di sistema. Questo parametro può avere uno dei valori seguenti.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è il riquadro di sistema precedente. Può essere SYSPAL_NOSTATIC, SYSPAL_NOSTATIC256 o SYSPAL_STATIC.
Se la funzione ha esito negativo, il valore restituito viene SYSPAL_ERROR.
Commenti
Un'applicazione può determinare se un dispositivo supporta le operazioni del riquadro chiamando la funzione GetDeviceCaps e specificando la costante RASTERCAPS.
Quando una finestra dell'applicazione viene spostata in primo piano e il valore SYSPAL_NOSTATIC è impostato, l'applicazione deve chiamare la funzione GetSysColor per salvare l'impostazione dei colori di sistema correnti. Deve anche chiamare SetSysColors per impostare valori ragionevoli usando solo il bianco e nero. Quando l'applicazione torna allo sfondo o termina, è necessario ripristinare i colori di sistema precedenti.
Se la funzione restituisce SYSPAL_ERROR, il contesto di dispositivo specificato non è valido o non supporta le tavolozze dei colori.
Un'applicazione deve chiamare questa funzione solo quando la finestra è ingrandita e ha lo stato attivo per l'input.
Se un'applicazione chiama SetSystemPaletteUse con uUsage impostato su SYSPAL_NOSTATIC, il sistema continua a riservare due voci nella tavolozza di sistema rispettivamente per bianco puro e nero puro.
Dopo aver chiamato questa funzione con uUsage impostato su SYSPAL_NOSTATIC, un'applicazione deve seguire questa procedura:
- Realizzare la tavolozza logica.
- Chiamare la funzione GetSysColor per salvare le impostazioni di colore di sistema correnti.
- Chiamare la funzione SetSysColors per impostare i colori di sistema su valori ragionevoli usando il nero e il bianco. Ad esempio, gli elementi adiacenti o sovrapposti (ad esempio cornici e bordi delle finestre) devono essere impostati rispettivamente su bianco e nero.
- Inviare il messaggio di WM_SYSCOLORCHANGE ad altre finestre di primo livello per consentirne il ridisegno con i nuovi colori di sistema.
- Chiamare SetSystemPaletteUse con il parametro uUsage impostato su SYSPAL_STATIC.
- Realizzare la tavolozza logica.
- Ripristinare i colori di sistema sui valori precedenti.
- Inviare il messaggio di WM_SYSCOLORCHANGE .
Requisiti
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | wingdi.h (include Windows.h) |
Libreria | Gdi32.lib |
DLL | Gdi32.dll |