problem d'utilisation de la DLL GDIplus

Posté par pullay le 16/9/2009 18:11:49
Bonjour,

J’essaie de dessiner pour commencer un rectangle sur un contrôle image
Je n’est pas d’erreur d’exécution des fonctions mais rien ne s’affiche à l’écran.

Ci-dessous mon code :

nPGraphics est un entier système //**Dans le code d’initialisation du projet**


//*********************DLL GDIPLUS**********************
//****dans le code d'initialisation de ma fenêtre********

ChargeDLL("gdiplus.dll")

GdiplusStartupInput est une structure
       GdiplusVersion est un entier
       DebugEventCallBack est un entier
       SupressBackgroundThread est un entier
       SupressExternalCodecs est un entier
FIN
lpSI est un GdiplusStartupInput
lpSI:GdiplusVersion=1
token est un entier
nOutputbuf est un entier=0
//initialise GDI+
API("gdiplus.dll", "GdiplusStartup",&token,&lpSI,nOutputbuf)

nDC est un entier=dDébutDessin(FEN_TEST.IMG_TESTDLL)
API("gdiplus.dll", "GdipCreateFromHDC",nDC,&nPGraphics)


//dans le code de clic d'un bouton permettant de dessiner un rectangle

nNcouleurs est un entier sans signe=ColorTranslator::ToWin32(Color::FromArgb(255,25,50,100))
pBluePen est un entier système
nNwith est un entier sans signe=6
// Créer un Pen
API("gdiplus.dll", "GdipCreatePen1",nNcouleurs,nNwith,2,&pBluePen)
// Initialise les variables definissant le rectangle.
xb est un entier sans signe = 10
yb  est un entier sans signe = 20
nWidth  est un entier sans signe = 50
nHeight  est un entier sans signe = 100

// Draw le rectangle
API("gdiplus.dll", "GdipDrawRectangle", nPGraphics, pBluePen, xb, yb, nWidth, nHeight)
// Nettoy les objet en memoire
API("gdiplus.dll", "GdipDeletePen",pBluePen)

// Actualise l’image
nSys est un entier système=Handle(FEN_TEST.IMG_TESTDLL)
AppelDLL32("user32","InvalidateRgn",nSys,0,True)

//Code de fermeture du projet 
API("gdiplus.dll", "GdipDeleteGraphics",nPGraphics)

Merci de m’aider

Romain

Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=20&topic_id=6271&post_id=24915