Probleme tracer ligne [Api Windows]

Le
Fender6
Salut,

En fait j'aimerais tracer une ligne dans ma fenêtre que j'ai créer
comme ceci :

HWND fenetre1 = CreateWindowEx(WS_EX_STATICEDGE,
"STATIC",NULL,WS_CHILD ,235, 130, 530, 365, fenetrePrincipale,
NULL,GetModuleHandle(NULL), NULL);

A l'aide de la fonction :

void dessineLigne (HWND fenetreCiblee, const RECT dimensions, HPEN
crayon)
{
//Déclarations préalables + récupération de la surface de
dessin
PAINTSTRUCT ps;
HDC dc = BeginPaint(fenetreCiblee, &ps);

//Application du crayon sur le dc
SelectObject(dc, crayon);

//Dessin de la ligne
MoveToEx(dc, dimensions.left, dimensions.top, NULL);
LineTo(dc, dimensions.right, dimensions.bottom);


//Libération de la surface + fin du dessin
EndPaint(fenetreCiblee, &ps);

return;
}

Je l'appelle donc comme ceci :

RECT dimensions;
dimensions.left = 0;
dimensions.right = 50;
dimensions.top = 0;
dimensions.bottom = 50;

dessineLigne (fenetre1, dimensions, NULL);

Cependant rien ne s'affiche dans ma fenêtré pouvez vous m'indiquer
l'erreur que j'ai fait et m'aider a la résoudre

merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Christian ASTOR
Le #20650571
On 28 nov, 16:35, Fender6
Cependant rien ne s'affiche dans ma fenêtré pouvez vous m'indiquer
l'erreur que j'ai fait et m'aider a la résoudre



Il faut toujours dessiner dans WM_PAINT.
Si c'est dans un Static control, il faut le subclasser.
Vincent Burel
Le #20659491
>"Fender6"

news:
Salut,

En fait j'aimerais tracer une ligne dans ma fenêtre que j'ai créer
comme ceci :

Cependant rien ne s'affiche dans ma fenêtré pouvez vous m'indiquer
l'erreur que j'ai fait et m'aider a la résoudre



BeginPaint s'emploie uniquement en réponse à WM_PAINT. Pour afficher à un
autre moment que sur un event WM_PAINT il faut tout simplement obtenir une
dc :


void dessineLigne (HWND fenetreCiblee, const RECT dimensions, HPEN
crayon)
{
//Déclarations préalables + récupération de la surface de
dessin
PAINTSTRUCT ps;
HDC dc = GetDC(fenetreCiblee);

//Application du crayon sur le dc
SelectObject(dc, crayon);

//Dessin de la ligne
MoveToEx(dc, dimensions.left, dimensions.top, NULL);
LineTo(dc, dimensions.right, dimensions.bottom);


//Libération de la surface + fin du dessin
ReleaseDC(fenetreCiblee, dc);

return;
}
Publicité
Poster une réponse
Anonyme