You can find the wrox.com code downloads for this chapter on the Download Code tab at www.wrox.com/go/beginningvisualc. The code is in the Chapter 14 download and individually named according to the names throughout the chapter.
When you draw in the client area of a window, you must obey the rules. You must redraw the client area whenever a
WM_PAINT message is sent to your application. This is because there are many external events that require that your application window is redrawn — the user resizing the window for example or moving another window to expose part of your window that was hidden. Windows sends information along with the
WM_PAINT message that enables you to determine which part of the client area needs to be re-created. This means that you don’t have to draw all the client area in response to a
WM_PAINT message, just the area identified as the update region. In an MFC application, the MFC intercepts the
WM_PAINT message and redirects it to a function in one of your classes. I’ll explain how you handle this message later in this chapter.