SetGraphicsMode, fonction (wingdi.h)

La fonction SetGraphicsMode définit le mode graphique pour le contexte d’appareil spécifié.

Syntaxe

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

Paramètres

[in] hdc

Handle pour le contexte de l’appareil.

[in] iMode

Mode graphique. Ce paramètre peut prendre les valeurs suivantes.

Valeur Signification
GM_COMPATIBLE
Définit le mode graphique compatible avec Windows 16 bits. Il s’agit du mode par défaut ; Si cette valeur est spécifiée, l’application peut uniquement modifier la transformation monde-appareil en appelant des fonctions qui définissent les extensions et les origines de fenêtre et de fenêtre d’affichage, mais pas à l’aide de SetWorldTransform ou ModifyWorldTransform ; Les appels à ces fonctions échouent. SetViewportExtEx et SetWindowExtEx sont des exemples de fonctions qui définissent des extensions et des origines de fenêtre et de fenêtre d’affichage.
GM_ADVANCED
Définit le mode graphique avancé qui autorise les transformations de monde. Cette valeur doit être spécifiée si l’application définit ou modifie la transformation du monde pour le contexte d’appareil spécifié. Dans ce mode, tous les graphiques, y compris la sortie de texte, sont entièrement conformes à la transformation monde-appareil spécifiée dans le contexte de l’appareil.

Valeur retournée

Si la fonction réussit, la valeur de retour est l’ancien mode graphique.

Si la fonction échoue, la valeur de retour est égale à zéro.

Remarques

Il existe trois domaines dans lesquels la sortie graphique diffère selon le mode graphique :

  1. Sortie du texte : en mode GM_COMPATIBLE, la sortie de texte TrueType (ou police vectorielle) se comporte de la même façon que la sortie de texte de police raster en ce qui concerne les transformations monde-appareil dans le contrôleur de domaine. Le texte TrueType est toujours écrit de gauche à droite et de droite vers le haut, même si le reste des graphiques est retourné sur l’axe x ou y. Seule la hauteur du texte TrueType (ou police vectorielle) est mise à l’échelle. La seule façon d’écrire du texte qui n’est pas horizontal en mode GM_COMPATIBLE consiste à spécifier un échappement et une orientation différent de zéro pour la police logique sélectionnée dans ce contexte d’appareil.

    En mode GM_ADVANCED, la sortie du texte TrueType (ou police vectorielle) est entièrement conforme à la transformation monde-appareil dans le contexte de l’appareil. Les polices raster ont uniquement des fonctionnalités de transformation très limitées (étirement par certains facteurs entiers). L’interface de périphérique graphique (GDI) tente de produire la meilleure sortie possible avec des polices raster pour les transformations non dérivées.

  2. Exclusion de rectangle : si le mode graphique par défaut GM_COMPATIBLE est défini, le système exclut les bords inférieur et droit lorsqu’il dessine des rectangles.

    Le mode graphique GM_ADVANCED est requis si les applications souhaitent dessiner des rectangles inclus en bas à droite.

  3. Dessin d’arc : si le mode graphique par défaut GM_COMPATIBLE est défini, GDI dessine des arcs en utilisant la direction de l’arc actuelle dans l’espace de l’appareil. Avec cette convention, les arcs ne respectent pas les transformations de page à appareil qui nécessitent un retournement le long de l’axe x ou y.

    Si le mode graphique GM_ADVANCED est défini, GDI dessine toujours des arcs dans le sens inverse des aiguilles d’une montre dans l’espace logique. Cela équivaut à l’affirmation selon laquelle, dans le mode graphique GM_ADVANCED, les points de contrôle d’arc et les arcs eux-mêmes respectent pleinement la transformation monde-à-appareil du contexte de l’appareil.

Exemples

Pour obtenir un exemple, consultez Utilisation des espaces de coordonnées et des transformations.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête wingdi.h (inclure Windows.h)
Bibliothèque Gdi32.lib
DLL Gdi32.dll

Voir aussi

Fonctions d’espace de coordonnées et de transformation

Vue d’ensemble des espaces et transformations de coordonnées

CreateDC

GetArcDirection

GetDC

GetGraphicsMode

ModifyWorldTransform

SetArcDirection

SetViewportExtEx

SetViewportExtent

SetWindowExtEx

SetWindowExtent

SetWorldTransform