How to set background color of window after I have registered it?-Collection of common programming errors
Short answer: Handle WM_ERASEBKGND.
Longer answer:
When you register the WNDCLASS, you’re providing information about all windows of that class. So if you want to change the color of just one instance of the window, you’ll need to handle it yourself.
When it’s time to repaint your window, the system will send your wndproc a WM_ERASEBKGND message. If you don’t handle it, the DefWindowProc will erase the client area with the color from the window class. But you can handle the message directly, painting whatever color (or background pattern) you like.