Partager via


CreateEnhMetaFileA, fonction (wingdi.h)

La fonction CreateEnhMetaFile crée un contexte d’appareil pour un métafichier de format amélioré. Ce contexte d’appareil peut être utilisé pour stocker une image indépendante de l’appareil.

Syntaxe

HDC CreateEnhMetaFileA(
  [in] HDC        hdc,
  [in] LPCSTR     lpFilename,
  [in] const RECT *lprc,
  [in] LPCSTR     lpDesc
);

Paramètres

[in] hdc

Handle vers un appareil de référence pour le métafichier amélioré. Ce paramètre peut être NULL ; pour plus d’informations, consultez Remarques.

[in] lpFilename

Pointeur vers le nom de fichier pour le métafichier amélioré à créer. Si ce paramètre est NULL, le métafichier amélioré est basé sur la mémoire et son contenu est perdu lorsqu’il est supprimé à l’aide de la fonction DeleteEnhMetaFile.

[in] lprc

Pointeur vers une structure RECT qui spécifie les dimensions (en unités de 01 millimètres) de l’image à stocker dans le métafichier amélioré.

[in] lpDesc

Pointeur vers une chaîne qui spécifie le nom de l’application qui a créé l’image, ainsi que le titre de l’image. Ce paramètre peut être NULL ; pour plus d’informations, consultez Remarques.

Valeur de retour

Si la fonction réussit, la valeur de retour est un handle vers le contexte de l’appareil pour le métafichier amélioré.

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

Remarques

Où les arguments de texte doivent utiliser des caractères Unicode, utilisez la fonction CreateEnhMetaFile comme fonction à caractères larges. Où les arguments de texte doivent utiliser des caractères du jeu de caractères Windows, utilisez cette fonction comme fonction ANSI.

Le système utilise l’appareil de référence identifié par le paramètre hdcRef pour enregistrer la résolution et les unités de l’appareil sur lequel une image est apparue à l’origine. Si le paramètre hdcRef est NULL, il utilise l’appareil d’affichage actuel pour référence.

Les gauche et les membres principaux de la structure RECT pointées par le paramètre lpRect doivent être inférieurs respectivement au droit et membres inférieurs. Les points le long des bords du rectangle sont inclus dans l’image. Si lpRect est NULL, l’interface de périphérique graphique (GDI) calcule les dimensions du plus petit rectangle qui entoure l’image dessinée par l’application. Le paramètre lpRect doit être fourni dans la mesure du possible.

La chaîne pointée par le paramètre lpDescription doit contenir un caractère Null entre le nom de l’application et le nom de l’image et doit se terminer par deux caractères Null, par exemple « XYZ Graphics Editor\0Bald Eagle\0\0 », où \0 représente le caractère null. Si lpDescription est NULL, il n’existe aucune entrée correspondante dans l’en-tête de métafichier amélioré.

Les applications utilisent le contexte d’appareil créé par cette fonction pour stocker une image graphique dans un métafichier amélioré. Le handle identifiant ce contexte d’appareil peut être transmis à n’importe quelle fonction GDI.

Une fois qu’une application stocke une image dans un métafichier amélioré, elle peut afficher l’image sur n’importe quel appareil de sortie en appelant la fonction PlayEnhMetaFile. Lors de l’affichage de l’image, le système utilise le rectangle pointé par le paramètre lpRect et les données de résolution de l’appareil de référence pour positionner et mettre à l’échelle l’image.

Le contexte d’appareil retourné par cette fonction contient les mêmes attributs par défaut associés à tout nouveau contexte d’appareil.

Les applications doivent utiliser la fonction GetWinMetaFileBits pour convertir un métafichier amélioré au format de métafichier Windows plus ancien.

Le nom de fichier du métafichier amélioré doit utiliser l’extension .emf.

Exemples

Pour obtenir un exemple, consultez Création d’un métafichier amélioré.

Note

L’en-tête wingdi.h définit CreateEnhMetaFile en tant qu’alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
serveur minimum pris en charge Windows 2000 Server [applications de bureau uniquement]
plateforme cible Windows
d’en-tête wingdi.h (include Windows.h)
bibliothèque Gdi32.lib
DLL Gdi32.dll

Voir aussi

CloseEnhMetaFile

DeleteEnhMetaFile

GetEnhMetaFileDescription

GetEnhMetaFileHeader

GetWinMetaFileBits

fonctions de métafichier

Vue d’ensemble des métafichiers

PlayEnhMetaFile

RECT