Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Probleme tracer ligne [Api Windows]

2 réponses
Avatar
Fender6
Salut,

En fait j'aimerais tracer une ligne dans ma fen=EAtre que j'ai cr=E9er
comme ceci :

HWND fenetre1 =3D 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=E9clarations pr=E9alables + r=E9cup=E9ration de la surface de
dessin
PAINTSTRUCT ps;
HDC dc =3D 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=E9ration de la surface + fin du dessin
EndPaint(fenetreCiblee, &ps);

return;
}

Je l'appelle donc comme ceci :

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

dessineLigne (fenetre1, dimensions, NULL);

Cependant rien ne s'affiche dans ma fen=EAtr=E9 pouvez vous m'indiquer
l'erreur que j'ai fait et m'aider a la r=E9soudre

merci

2 réponses

Avatar
Christian ASTOR
On 28 nov, 16:35, Fender6 wrote:

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.
Avatar
Vincent Burel
>"Fender6" wrote in message


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;
}