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
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 |