Funzione SetGraphicsMode (wingdi.h)

La funzione SetGraphicsMode imposta la modalità grafica per il contesto di dispositivo specificato.

Sintassi

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

Parametri

[in] hdc

Handle per il contesto del dispositivo.

[in] iMode

Modalità grafica. Questo parametro può avere uno dei valori seguenti.

Valore Significato
GM_COMPATIBLE
Imposta la modalità grafica compatibile con Windows a 16 bit. Si tratta della modalità predefinita. Se questo valore viene specificato, l'applicazione può modificare solo la trasformazione da mondo a dispositivo chiamando funzioni che impostano extent e origini della finestra e del riquadro di visualizzazione, ma non usando SetWorldTransform o ModifyWorldTransform; le chiamate a tali funzioni avranno esito negativo. Esempi di funzioni che impostano extent e origini della finestra e del riquadro di visualizzazione sono SetViewportExtEx e SetWindowExtEx.
GM_ADVANCED
Imposta la modalità grafica avanzata che consente trasformazioni mondiali. Questo valore deve essere specificato se l'applicazione imposterà o modificherà la trasformazione globale per il contesto di dispositivo specificato. In questa modalità tutti gli elementi grafici, incluso l'output di testo, sono completamente conformi alla trasformazione world-to-device specificata nel contesto del dispositivo.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è la modalità grafica precedente.

Se la funzione ha esito negativo, il valore restituito è zero.

Commenti

Esistono tre aree in cui l'output grafico è diverso in base alla modalità grafica:

  1. Output di testo: nella modalità GM_COMPATIBLE, l'output di testo TrueType (o tipo di carattere vettoriale) si comporta in modo analogo all'output di testo del tipo di carattere raster rispetto alle trasformazioni world-to-device nel controller di dominio. Il testo TrueType viene sempre scritto da sinistra a destra e da destra verso l'alto, anche se il resto della grafica verrà capovolto sull'asse x o y. Viene ridimensionata solo l'altezza del testo TrueType (o del tipo di carattere vettoriale). L'unico modo per scrivere testo non orizzontale nella modalità GM_COMPATIBLE consiste nel specificare caratteri di escape e orientamento diversi da zero per il tipo di carattere logico selezionato in questo contesto di dispositivo.

    Nella modalità GM_ADVANCED, l'output di testo TrueType (o tipo di carattere vettoriale) è completamente conforme alla trasformazione world-to-device nel contesto del dispositivo. I tipi di carattere raster hanno solo funzionalità di trasformazione molto limitate (l'estensione di alcuni fattori interi). L'interfaccia GDI (Graphics Device Interface) tenta di produrre l'output migliore che può ottenere con tipi di carattere raster per trasformazioni nontriviali.

  2. Esclusione rettangolo: se la modalità grafica predefinita GM_COMPATIBLE è impostata, il sistema esclude i bordi inferiore e destro quando disegna rettangoli.

    La modalità grafica GM_ADVANCED è necessaria se le applicazioni desiderano disegnare rettangoli inclusi in basso a destra.

  3. Disegno arco: se è impostata la modalità grafica predefinita GM_COMPATIBLE, GDI disegna gli archi usando la direzione dell'arco corrente nello spazio del dispositivo. Con questa convenzione, gli archi non rispettano le trasformazioni da pagina a dispositivo che richiedono un capovolgimento lungo l'asse x o y.

    Se la modalità grafica GM_ADVANCED è impostata, GDI disegna sempre gli archi nella direzione antiorario nello spazio logico. Ciò equivale all'istruzione che, nella modalità grafica GM_ADVANCED, sia i punti di controllo arc che gli archi si applicano completamente rispetto alla trasformazione world-to-device del contesto di dispositivo.

Esempio

Per un esempio, vedere Uso di spazi di coordinate e trasformazioni.

Requisiti

Requisito Valore
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 di coordinate e di trasformazione

Panoramica di spazi e trasformazioni delle coordinate

CreateDC

GetArcDirection

GetDC

GetGraphicsMode

ModifyWorldTransform

SetArcDirection

SetViewportExtEx

SetViewportExtent

SetWindowExtEx

SetWindowExtent

SetWorldTransform