Compartilhar via


Função SetSystemPaletteUse (wingdi.h)

A função SetSystemPaletteUse permite que um aplicativo especifique se a paleta do sistema contém 2 ou 20 cores estáticas. A paleta do sistema padrão contém 20 cores estáticas. (As cores estáticas não podem ser alteradas quando um aplicativo percebe uma paleta lógica.)

Sintaxe

UINT SetSystemPaletteUse(
  [in] HDC  hdc,
  [in] UINT use
);

Parâmetros

[in] hdc

Um identificador para o contexto do dispositivo. Esse contexto de dispositivo deve se referir a um dispositivo que dê suporte a paletas de cores.

[in] use

O novo uso da paleta do sistema. Esse parâmetro pode usar um dos valores a seguir.

Valor Significado
SYSPAL_NOSTATIC
A paleta do sistema contém duas cores estáticas (preto e branco).
SYSPAL_NOSTATIC256
A paleta do sistema não contém cores estáticas.
SYSPAL_STATIC
A paleta do sistema contém cores estáticas que não serão alteradas quando um aplicativo perceber sua paleta lógica.

Valor retornado

Se a função for bem-sucedida, o valor retornado será a paleta do sistema anterior. Pode ser SYSPAL_NOSTATIC, SYSPAL_NOSTATIC256 ou SYSPAL_STATIC.

Se a função falhar, o valor retornado será SYSPAL_ERROR.

Comentários

Um aplicativo pode determinar se um dispositivo dá suporte a operações de paleta chamando a função GetDeviceCaps e especificando a constante RASTERCAPS.

Quando uma janela do aplicativo é movida para o primeiro plano e o valor SYSPAL_NOSTATIC é definido, o aplicativo deve chamar a função GetSysColor para salvar a configuração de cores do sistema atual. Ele também deve chamar SetSysColors para definir valores razoáveis usando apenas preto e branco. Quando o aplicativo retorna à tela de fundo ou termina, as cores anteriores do sistema devem ser restauradas.

Se a função retornar SYSPAL_ERROR, o contexto de dispositivo especificado será inválido ou não oferecerá suporte a paletas de cores.

Um aplicativo deve chamar essa função somente quando sua janela for maximizada e tiver o foco de entrada.

Se um aplicativo chamar SetSystemPaletteUse com uUsage definido como SYSPAL_NOSTATIC, o sistema continuará reservando duas entradas na paleta do sistema para branco puro e preto puro, respectivamente.

Depois de chamar essa função com uUsage definido como SYSPAL_NOSTATIC, um aplicativo deve executar as seguintes etapas:

  1. Realize a paleta lógica.
  2. Chame a função GetSysColor para salvar as configurações atuais de cor do sistema.
  3. Chame a função SetSysColors para definir as cores do sistema para valores razoáveis usando preto e branco. Por exemplo, itens adjacentes ou sobrepostos (como quadros de janela e bordas) devem ser definidos como preto e branco, respectivamente.
  4. Envie a mensagem WM_SYSCOLORCHANGE para outras janelas de nível superior para permitir que elas sejam redesenhadas com as novas cores do sistema.
Quando a janela do aplicativo perde o foco ou fecha, o aplicativo deve executar as seguintes etapas:
  1. Chame SetSystemPaletteUse com o parâmetro uUsage definido como SYSPAL_STATIC.
  2. Realize a paleta lógica.
  3. Restaure as cores do sistema para seus valores anteriores.
  4. Envie a mensagem WM_SYSCOLORCHANGE .

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho wingdi.h (inclua Windows.h)
Biblioteca Gdi32.lib
DLL Gdi32.dll

Confira também

Funções de cor

Visão geral de cores

Getdevicecaps

Getsyscolor

GetSystemPaletteUse

SetSysColors