Partager via


Fonction CreateCompatibleDC (wingdi.h)

La fonction CreateCompatibleDC crée un contexte de périphérique mémoire (DC) compatible avec l’appareil spécifié.

Syntaxe

HDC CreateCompatibleDC(
  [in] HDC hdc
);

Paramètres

[in] hdc

Handle d’un contrôleur de domaine existant. Si ce handle a la valeur NULL, la fonction crée un contrôleur de domaine de mémoire compatible avec l’écran actuel de l’application.

Valeur retournée

Si la fonction réussit, la valeur de retour est le handle d’un contrôleur de domaine mémoire.

Si la fonction échoue, la valeur de retour est NULL.

Remarques

Un contrôleur de domaine de mémoire n’existe que dans la mémoire. Lorsque le contrôleur de domaine de mémoire est créé, sa surface d’affichage est exactement d’un pixel monochrome de large et d’un pixel monochrome de haut. Avant qu’une application puisse utiliser un contrôleur de domaine de mémoire pour les opérations de dessin, elle doit sélectionner une bitmap de la largeur et de la hauteur appropriées dans le contrôleur de domaine. Pour sélectionner une bitmap dans un contrôleur de domaine, utilisez la fonction CreateCompatibleBitmap, en spécifiant la hauteur, la largeur et la couleur organization requises.

Lorsqu’un contrôleur de domaine de mémoire est créé, tous les attributs sont définis sur des valeurs par défaut normales. Le contrôleur de domaine de mémoire peut être utilisé en tant que contrôleur de domaine normal. Vous pouvez définir les attributs ; obtenir les paramètres actuels de ses attributs ; et sélectionnez des stylets, des pinceaux et des régions.

La fonction CreateCompatibleDC ne peut être utilisée qu’avec les appareils qui prennent en charge les opérations raster. Une application peut déterminer si un appareil prend en charge ces opérations en appelant la fonction GetDeviceCaps .

Lorsque vous n’avez plus besoin du contrôleur de domaine de mémoire, appelez la fonction DeleteDC . Nous vous recommandons d’appeler DeleteDC pour supprimer le contrôleur de domaine. Toutefois, vous pouvez également appeler DeleteObject avec HDC pour supprimer le contrôleur de domaine.

Si hdc a la valeur NULL, le thread qui appelle CreateCompatibleDC possède le HDC créé. Lorsque ce thread est détruit, le HDC n’est plus valide. Par conséquent, si vous créez le HDC et le passez à un autre thread, puis quittez le premier thread, le deuxième thread ne pourra pas utiliser le HDC.

ICM: Si le contrôleur de domaine passé à cette fonction est activé pour la gestion des couleurs d’image (ICM), le contrôleur de domaine créé par la fonction est activé pour ICM. Les espaces de couleurs source et de destination sont spécifiés dans le contrôleur de domaine.

Exemples

Pour obtenir un exemple, consultez Capture d’une image.

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

CreateCompatibleBitmap

DeleteDC

Fonctions de contexte d’appareil

Vue d’ensemble des contextes d’appareil

GetDeviceCaps