Condividi tramite


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 Significato
SYSPAL_NOSTATIC
La tavolozza di sistema contiene due colori statici (nero e bianco).
SYSPAL_NOSTATIC256
La tavolozza di sistema non contiene colori statici.
SYSPAL_STATIC
La tavolozza di sistema contiene colori statici che non cambieranno quando un'applicazione realizza la tavolozza logica.

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:

  1. Realizzare la tavolozza logica.
  2. Chiamare la funzione GetSysColor per salvare le impostazioni di colore di sistema correnti.
  3. 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.
  4. Inviare il messaggio di WM_SYSCOLORCHANGE ad altre finestre di primo livello per consentirne il ridisegno con i nuovi colori di sistema.
Quando la finestra dell'applicazione perde lo stato attivo o si chiude, l'applicazione deve seguire questa procedura:
  1. Chiamare SetSystemPaletteUse con il parametro uUsage impostato su SYSPAL_STATIC.
  2. Realizzare la tavolozza logica.
  3. Ripristinare i colori di sistema sui valori precedenti.
  4. 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

Vedi anche

Funzioni colore

Panoramica dei colori

GetDeviceCaps

GetSysColor

GetSystemPaletteUse

SetSysColors