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
>"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; }
>"Fender6" <grignottelysa@orange.fr> wrote in message
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);
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);