racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 10 déc. 2004 à 13:37
Salut,
Pour afficher un emf on utilise la fonction PlayEnhMetaFile() après avoir déterminé la zone d'une fenêtre où il sera affiché:
HDC hdc=GetDC(hWnd);//HDC de notre fenetre
RECT rect;//définir un rectangle pour l'affichage
GetClientRect(hWnd, &rect);
PlayEnhMetaFile(hdc, hemf, &rect);
hWnd = HWND de notre fenêtre
hemf = HENHMETAFILE de notre emf
Dans cet exemple, notre emf prend toute la zone cliente de notre fenêtre. On peut aussi l'afficher dans une partie de cette fenêtre en précisant les coordonnées adéquates dans "rect". On peut l'afficher également dans un STATIC ou tout autre controle. N'oublie pas de libérer le HDC et le HENHMETAFILE quand tu n'en as plus besoin.
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 10 déc. 2004 à 15:14
Oui, exactement , les images seront redimentionnées dans le rectangle.
HENHMETAFILE est justement le HANDLE du emf chargé en mémoire. Tu peux l'obtenir soit avec GetEnhMetaFile() à partir d'un fichier sur disque, soit avec CloseEnhMetaFile() après écriture du fichier.