Partager via


CreateEnhMetaFileW, 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 CreateEnhMetaFileW(
  [in] HDC        hdc,
  [in] LPCWSTR    lpFilename,
  [in] const RECT *lprc,
  [in] LPCWSTR    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 hdc pour enregistrer la résolution et les unités de l’appareil sur lequel une image est apparue à l’origine. Si le paramètre hdc 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 lprc doivent être inférieurs respectivement aux et membres inférieurs inférieurs. Les points le long des bords du rectangle sont inclus dans l’image. Si lprc est NULL, l’interface d’appareil graphique (GDI) calcule les dimensions du plus petit rectangle qui entoure l’image dessinée par l’application. Le paramètre lprc doit être fourni le cas échéant.

La chaîne pointée par le paramètre lpDesc 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 lpDesc 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 lprc 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