Salut,
Voici une autre solution:
case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hdc=BeginPaint(hwnd,&ps);
RECT rect;
GetClientRect(hwnd,&rect);
HBRUSH couleur=CreateSolidBrush(RGB(255,0,0));
FillRect(hdc,&rect,couleur);
DeleteObject(couleur);
EndPaint(hwnd,&ps);
return 1;
}
Si tu veux changer la couleur après appui sur un bouton par exemple il suffit de déclarer une variable COLORREF en static au début de de ta WndProc comme ceci:
static COLORREF macouleur;
Puis dans le traitement du message WM_COMMAND du bouton tu ajoute ceci:
macouleur=RGB(0,255,0);//définis la couleur comme tu veux
RECT rec;
GetClientRect(hwnd,&rec);
InvalidateRect(hwnd,&rec,1);
Dans le traitement de WM_PAINT tu remplaces le paramètre de CreateSolidBrush() par "macouleur".
Si tu veux mieux comprendre tous les trucs sur les HDC etc... il n'y a pas mieux que le livre électronique téléchargeable sur le site de BruNews: http://brunews.free.fr