Partager via


CMetaFileDC::CreateEnhanced

Crée un contexte de périphérique pour un métafichier d'améliorer-format.

BOOL CreateEnhanced( 
   CDC* pDCRef, 
   LPCTSTR lpszFileName, 
   LPCRECT lpBounds, 
   LPCTSTR lpszDescription  
);

Paramètres

  • pDCRef
    Identifie un périphérique de référence pour le métafichier amélioré.

  • lpszFileName
    Pointe vers une chaîne se terminant par null. Spécifie le nom du fichier pour le métafichier amélioré créé. Si ce paramètre est NULL, métafichier amélioré est implanté en mémoire et son contenu a perdu lorsque l'objet est détruit ou lorsque la fonction Win32 DeleteEnhMetaFile est appelée.

  • lpBounds
    Pointe vers une structure de données de RECT ou un objet de CRect qui spécifie les dimensions en unités HIMETRIC (incréments de .01 millimètre) de l'image à stocker dans le métafichier amélioré.

  • lpszDescription
    Pointe vers une chaîne nulle terminée qui spécifie le nom de l'application qui a créé l'image, ainsi que le titre de l'image.

Valeur de retour

Un handle du contexte de périphérique pour le métafichier amélioré, si l'opération a réussi ; sinon NULL.

Notes

Ce contrôleur de domaine peut être utilisé pour enregistrer une image indépendant du périphérique.

Les fenêtres utilise le périphérique de référence identifié par le paramètre d' pDCRef pour stocker la résolution et les unités du périphérique sur lequel une image est apparue origine. Si le paramètre d' pDCRef est NULL, il utilise le périphérique d'affichage actuel de la référence.

Les membres de gauche et supérieure de la structure de données d' RECT pointée sur par le paramètre d' lpBounds doivent être plus petits que les membres de droit et inférieur, respectivement. Les points le long de les bords du rectangle sont inclus dans l'image. Si lpBounds est NULL, le Graphics Device Interface (GDI) calcule les dimensions de plus petit rectangle qui peut joindre l'image dessinée par l'application. Le paramètre d' lpBounds doit être fourni lorsque cela est possible.

La chaîne pointée sur par le paramètre d' lpszDescription doit contenir un caractère Null entre le nom de l'application et le nom de l'image et doit se terminer avec deux caractères Null (dans l'exemple, « éditeur graphique \0Bald Eagle \ 0 \ 0 de XYZ, » \ où 0 représente le caractère Null. Si lpszDescription est NULL, il n'y a aucune entrée correspondante dans l'en-tête de métafichier amélioré.

Les applications utilisent le contrôleur de domaine créé par cette fonction pour enregistrer une image graphique dans un métafichier amélioré. Le handle identificateur ce contrôleur de domaine peut être passé à une fonction GDI.

Une fois qu'une application stocke une image dans un métafichier amélioré, elle peut afficher l'image sur un périphérique de sortie en appelant la fonction d' CDC::PlayMetaFile . En affichant l'image, windows utilise le rectangle globale pointe vers le paramètre d' lpBounds et les informations de résolution du périphérique de référence pour positionner et mettre à l'échelle l'image. Le contexte de périphérique retournée par cette fonction contient les mêmes attributs par défaut associées à tout nouveau contrôleur de domaine.

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

Le nom du fichier pour le métafichier amélioré doit utiliser l'extension de .EMF.

Configuration requise

Header: afxext.h

Voir aussi

Référence

CMetaFileDC, classe

Graphique de la hiérarchie

CMetaFileDC::CloseEnhanced

CDC::PlayMetaFile

CloseEnhMetaFile

DeleteEnhMetaFile

GetEnhMetaFileDescription

GetEnhMetaFileHeader

GetWinMetaFileBits

PlayEnhMetaFile