GdipComment()



Syntaxe
Resultat.i = GdipComment(*graphics, sizeData.i, *Datas.byte)
Paramètres
*graphics

[in] Pointeur sur un objet Graphics.

sizeData.i

[in] Nombre entier positif qui spécifie le nombre d'octets du tableau de donnée *Datas.

*Datas

[in] Pointeur sur le buffer qui contient le commentaire.

Description

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

Cette fonction permet d'ajouter un commentaire au graphique et n'est uniquement valide que si ce graphique est associé à un Metafile (métafichier).

Les métafichiers sont traités comme des images, l'affichage ou la destruction des métafichiers utilisent les fonctions d'images.

Les métafichiers contiennent des enregistrements qui décrivent une séquence d'opérations graphiques qui peuvent être enregistrées (construites) et lues (affichées). GDI+ comme GDI permet d'ajouter des commentaires au métafichier à l'emplacement de son choix dans la séquence d'opérations. Plusieurs séquences de commentaires peuvent être ajoutées.

Pour relire le ou les commentaires, il faut ouvrir le métafichier (image) puis créer un graphique (par exemple à partir du DC de la fenêtre principale) ensuite énumérer l'ensemble des éléments du métafichier avec une des fonctions d'énumaration (comme par exemple GdipEnumerateMetafileDestPoint()) et comparer chaque type avec la constante #EmfPlusRecordTypeComment. Si le type vaut EmfPlusRecordTypeComment, c'est que l'élément courant est un commentaire. L'énumération se fait avec une fonction callback tel que les exemples le montre. Les données utilisables sont disponibles depuis la callback (type d'élément, données associées etc.

Le premier exemple :
  - Crée un métafichier (format emf)
  - Lui associe un graphique propre et temporaire pour ajouter des éléments au métafichier (ce n'est pas un graphique d'affichage)
  - Création d'une brush, on ajoute une première ellipse remplie en brun
  - Ajout d'un premier commentaire ("PureBasic bien sur")
  - Une seconde ellipse est ajoutée
  - Ajout d'un second commentaire ("Forum fr").
  - Stoppe l'enregistrement du métafichier en fermant le graphique associé
  - Création du graphique d'affichage associé au DC de la fenêtre principale
  - Affiche le métafichier (les commentaires ne sont pas affichés)
  - Ferme le graphique d'affichage
  - Ferme le métafichier (image)
  - Ouverture du métafichier situé sur le disque (pour énumérer les commentaires)
  - Création du graphique d'affichage associé au DC de la fenêtre principale (il n'est pas obligatoire d'afficher le métafichier pour énumérer son contenu).
  - Enumération du contenu du métafichier
  - Ferme le graphique d'affichage
  - Ferme le métafichier (image)

Une procedure de rafraîchissement est utilisée car le système ne redessine pas les éléments de GDI+.

Le second exemple ne reprend que la partie d'énumération d'un métafichier et ouvre une fenêtre pour choisir le métafichier voulu.

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