Partager via


Création améliorée du métafichier

Vous créez un métafichier amélioré à l’aide de la fonction CreateEnhMetaFile, en fournissant les arguments appropriés. Le système utilise ces arguments pour conserver les dimensions de l’image, déterminer si le métafichier doit être stocké sur un disque ou en mémoire, et ainsi de suite.

Pour conserver les dimensions de l’image sur les appareils de sortie, CreateEnhMetaFile nécessite la résolution de l’appareil de référence. Cet appareil de référence est l’appareil sur lequel l’image est apparue pour la première fois, et le contrôleur de domaine de référence est le contexte de l’appareil associé à l’appareil de référence. Lorsque vous appelez la fonction CreateEnhMetaFile, vous devez fournir un handle qui identifie ce contrôleur de domaine. Vous pouvez obtenir ce handle en appelant la fonction GetDC ou createDC. Vous pouvez également spécifier NULL comme handle pour utiliser l’appareil d’affichage actuel pour l’appareil de référence.

La plupart des applications stockent des images définitivement et créent donc un métafichier amélioré stocké sur un disque ; toutefois, il existe certaines instances quand cela n’est pas nécessaire. Par exemple, une application de traitement de texte qui fournit des fonctionnalités de dessin de graphique peut stocker un graphique défini par l’utilisateur en mémoire en tant que métafichier amélioré, puis copier les bits de métafichier améliorés de la mémoire dans le fichier de document de l’utilisateur. Une application qui nécessite un métafichier stocké définitivement sur un disque doit fournir le nom du fichier lorsqu’il appelle CreateEnhMetaFile. Si vous ne fournissez pas de nom de fichier, le système traite automatiquement le métafichier comme un fichier temporaire et le stocke en mémoire.

Vous pouvez ajouter une description de texte facultative à un métafichier contenant des informations sur l’image et l’auteur. Une application peut afficher ces chaînes dans la boîte de dialogue Ouvrir de fichier pour fournir à l’utilisateur des informations sur le contenu du métafichier qui vous aidera à sélectionner le fichier approprié. Si une application inclut la description du texte, elle doit fournir un pointeur vers la chaîne lorsqu’elle appelle CreateEnhMetaFile.

Lorsque CreateEnhMetaFile réussit, il retourne un handle qui identifie un contexte d’appareil de métafichier spécial. Un contexte d’appareil de métafichier est unique dans lequel il est associé à un fichier plutôt qu’à un appareil de sortie. Lorsque le système traite une fonction GDI qui a reçu un handle dans un contexte d’appareil de métafichier, il convertit la fonction GDI en enregistrement de métafichier amélioré et ajoute l’enregistrement à la fin du métafichier amélioré.

Une fois qu’une image est terminée et que le dernier enregistrement est ajouté au métafichier amélioré, l’application peut fermer le fichier en appelant la fonction CloseEnhMetaFile. Cette fonction ferme et supprime le contexte d’appareil de métafichier spécial et retourne un handle identifiant le métafichier amélioré.

Pour supprimer un métafichier de format amélioré ou un handle de métafichier de format amélioré, appelez la fonction DeleteEnhMetaFile.