Função SetGraphicsMode (wingdi.h)

A função SetGraphicsMode define o modo gráfico para o contexto do dispositivo especificado.

Sintaxe

int SetGraphicsMode(
  [in] HDC hdc,
  [in] int iMode
);

Parâmetros

[in] hdc

Um identificador para o contexto do dispositivo.

[in] iMode

O modo gráfico. Esse parâmetro pode usar um dos valores a seguir.

Valor Significado
GM_COMPATIBLE
Define o modo gráfico compatível com o Windows de 16 bits. Esse é o modo padrão. Se esse valor for especificado, o aplicativo só poderá modificar a transformação de mundo para dispositivo chamando funções que definem extensões e origens de janela e visor, mas não usando SetWorldTransform ou ModifyWorldTransform; as chamadas para essas funções falharão. Exemplos de funções que definem extensões e origens de janela e visor são SetViewportExtEx e SetWindowExtExtEx.
GM_ADVANCED
Define o modo gráfico avançado que permite transformações mundiais. Esse valor deve ser especificado se o aplicativo definir ou modificar a transformação world para o contexto de dispositivo especificado. Nesse modo, todos os elementos gráficos, incluindo a saída de texto, estão totalmente em conformidade com a transformação mundo a dispositivo especificada no contexto do dispositivo.

Retornar valor

Se a função for bem-sucedida, o valor retornado será o modo gráfico antigo.

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

Comentários

Há três áreas em que a saída de gráficos difere de acordo com o modo gráfico:

  1. Saída de Texto: no modo GM_COMPATIBLE, a saída de texto TrueType (ou fonte de vetor) se comporta da mesma maneira que a saída de texto da fonte raster em relação às transformações de mundo para dispositivo no DC. O texto TrueType é sempre gravado da esquerda para a direita e para a direita para cima, mesmo que o restante dos elementos gráficos seja invertido no eixo x ou y. Somente a altura do texto TrueType (ou fonte de vetor) é dimensionada. A única maneira de gravar texto que não é horizontal no modo GM_COMPATIBLE é especificar escape e orientação não zero para a fonte lógica selecionada neste contexto de dispositivo.

    No modo GM_ADVANCED, a saída de texto TrueType (ou fonte de vetor) está totalmente em conformidade com a transformação mundo a dispositivo no contexto do dispositivo. As fontes de raster têm apenas recursos de transformação muito limitados (alongamento por alguns fatores inteiros). A GDI (interface do dispositivo gráfico) tenta produzir a melhor saída possível com fontes raster para transformações não experimentais.

  2. Exclusão de retângulo: se o modo de elemento gráfico padrão GM_COMPATIBLE for definido, o sistema excluirá bordas inferior e direita quando desenha retângulos.

    O modo gráfico GM_ADVANCED será necessário se os aplicativos desejarem desenhar retângulos que sejam inclusivos no canto inferior direito.

  3. Desenho do Arc: se o modo gráfico padrão GM_COMPATIBLE estiver definido, a GDI desenhará arcos usando a direção do arco atual no espaço do dispositivo. Com essa convenção, os arcos não respeitam transformações de página para dispositivo que exigem uma inversão ao longo do eixo x ou y.

    Se o modo gráfico GM_ADVANCED estiver definido, a GDI sempre desenhará arcos na direção no sentido anti-horário no espaço lógico. Isso é equivalente à instrução que, no modo gráfico GM_ADVANCED, os pontos de controle arc e os próprios arcos respeitam totalmente a transformação mundo a dispositivo do contexto do dispositivo.

Exemplos

Para obter um exemplo, consulte Usando espaços de coordenadas e transformações.

Requisitos

Requisito Valor
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

Coordenar funções de espaço e transformação

Visão geral de espaços de coordenadas e transformações

Createdc

GetArcDirection

Getdc

GetGraphicsMode

Modifyworldtransform

SetArcDirection

SetViewportExtExtEx

SetViewportExtent

SetWindowExtExtEx

SetWindowExtent

SetWorldTransform