That's pretty cool looking.
He's right about the flickering though. It's especially noticable if you resize the window. The whole thing is getting repainted twice. Once to clear it, and once to put the image on top. If you can, you should avoid clearing the background like that unless maybe you're doing double buffering. There won't be any graphical glitches if you double buffer, but by eliminating the background clear you'll also save time. It will still be necessary from time to time though, such as on initial startup, and when you resize, or another window overlapped yours and yours just got uncovered.
I'm gonna guess from the icon that you used MFC. In which case I can't really help you much or suggest how to go about fixing that. All my experience is with DirectX, raw Win32 API, and VB.
Since you have buttons on your window, I would assume it is a dialog though. That alone isn't necessarily a bad thing, but I think they do have a default behavior to paint their own background when they need to. At least your buttons should work right as long as you're using a dialog. They handle a bunch of things you'd take for granted in a language like VB, such as tabbing between controls and such. You can simulate that behavior with just a plain window, but it might not be consistent with other apps. Particularly if Windows ever gets an upgrade. I think scroll wheels made use of an upgrade to the dialog type window class, although I'm not certain.