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 |
---|---|
|
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. |
|
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:
-
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.
-
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.
-
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
SetViewportExtEx
SetWindowExtEx