Il faut utiliser la fonction SetClassLong (HWND, int, LONG); avec CreateSolidBrush ();
Exemple:
void ChangeColor (HWND hWnd, COLORREF cr)
{
HBRUSH hBrush, hOldBrush;
hBrush = CreateSolidBrush (cr); //On crée le pinceau avec la nouvelle couleur
hOldBrush = (HBRUSH) SetClassLong (hWnd, GCL_HBRBACKGROUND, (LONG) CreateSolidBrush (cr)); //On obtient l'ancien pinceau associé avec la fenêtre et on "applique" le nouveau pinceau
DeleteObject (hOldBrush); //Destruction de l'ancien pinceau
}
|