1. If you thought that so bad formatted code is easy to read/understand then you was wrong!

2. What is GetDc?

3. What is ReleaseDc?

4. What are you trying to do within the case ID_CIRCLE: of case WM_COMMAND:? Why "draw a circle" NOT in response to WM_PAINT?