Chapter 14Drawing in a Window

  • The coordinate systems you use to draw in a window
  • How to use a device context to draw shapes
  • How and when your program draws in a window
  • How to define handlers for mouse messages
  • How to define your own shape classes
  • How to program the mouse to draw shapes
  • How to capture the mouse

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.

BASICS OF DRAWING IN A WINDOW

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.

The ...

Get Ivor Horton's Beginning Visual C++ 2013 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.