I'm learning C++/WinAPI GUI elements. No MFC, no CLR, etc.
Using VS2010 I created a basic Win32 application, which auto-generates the code for a basic window. I spent some time learning about the message loop. For the sake of learning, I commented out the message loop.
As expected, my application just sits there. You can't close or manipulate it (short of Task Manager or whatnot).
However, when you hover over the minimize and maximize buttons, they animate (glow, as per Windows 7). How is that possible? WM_PAINT isn't being handled. No messages are being handled!
That is a feature of the UI (explorer.exe) and not the executable itself. Open task manager, kill "explorer.exe" and see if it still happens. You can launch explorer.exe from the Task Manager under File -> Run after you are done testing this.
Thanks for more info. Could you clarify what actual process re-draws the minimize, maximize and close buttons when I mouse over them?
Does that DefWindowProc live inside my process? Why cannot I see it within VS2010? What if I wanted to change how it works?
My usual WindowProc, auto generated by a new projected, as messages commented out. So I'm assuming you're talking about other function I cannot currently see.
edit: I see DefWindowProc is the default switch in my WndProc function. Is that just a generic proc for literally every window (and control, so to speak) in Windows? If I comment out the default to it, my program exists upon opening.