GdipCreateMetafileFromEmf()



Syntaxe
Resultat.i = GdipCreateMetafileFromEmf(hEmf.i, deleteEmf.i, @*metafile)
Paramètres
hEmf.i

[in] Handle de la fenêtre du métafichier.

deleteEmf.i

[in] Valeur booléenne qui indique si le Handle du métafichier est supprimé lorsque le Metafile est supprimé (paramètre hEmf.l)

   #True : le Handle est supprimé.

   #False : le Handle n'est pas supprimé.

*metafile

[out] *metafile recevra un pointeur sur l'objet metafile créé.

Description

Cette fonction est classé par Micosoft dans les fonctions Graphics mais je l'ai classée dans les métafiles.

Cette fonction permet de créer un métafichier en mémoire, basé sur un fichier EMF(Enhanced Metafile Format = métafichier Windows amélioré).

Cette fonction pemet à GDI+ de devenir le propriétaire du Handle de la fenêtre du métafichier qui ne doit pas être utilisé par d'autres parties du code jusqu'à que le métafichier soit détruit ou qu'il soit hors de la portée (thread ?).

A chaque création d'un objet metafile doit correspondre un appel de la fonction GdipDisposeImage() qui permet de libérer les ressources associées à l'objet.

Le premier exemple utilise un fichier EMF(existant sur le disque et créé avec le type (EmfType)) #EmfTypeEmfPlusDual et affiche le contenu (2 cercles pleins de couleur différente) et le Handle est automatiquement supprimé lors de la destruction du métafichier (deleteEmf vaut #True). Le paramètre hEmf est retrouvé avec la fonction GdipGetHemfFromMetafile().

Le second exemple est celui de la fonction GdipGetHemfFromMetafile() (c'est presque le même code) mais qui utilise l'API DeleteEnhMetaFile pour détruire le Handle (deleteEmf vaut #False).

Résultat de la fonction
Si la fonction réussit, elle retourne #Ok qui est une constante de l'énumération status.
Si la fonction échoue, elle retourne une des autres valeurs de l'énumération status.
PB - OS

PureBasic v4.30 bêta 4 (Windows - x86)
Testé avec Windows Vista édition familiale Premium