Zooming In on a Selection: Step 5

In the MainWndProc function, add code to process WM_MOUSEMOVE messages. This code outlines the selection using GDI functions . The code should appear as follows:

case WM_MOUSEMOVE:
   /* Use GDI functions to outline the area to be cropped. */
   if (wParam == MK_LBUTTON)
   {
      ThisWindowDC = GetDC(hWnd);
      SavedPen = SelectObject(ThisWindowDC, GetStockObject(WHITE_PEN));
      SavedBrush = SelectObject(ThisWindowDC, GetStockObject(NULL_BRUSH));
      DisplayMode = GetROP2(ThisWindowDC);
      SetROP2(ThisWindowDC, R2_NOT);
      if (FirstDraw == FALSE)
        Rectangle(ThisWindowDC, StartGDIX, StartGDIY, EndGDIX, EndGDIY);
      EndGDIX = LOWORD(lParam);
      EndGDIY = HIWORD(lParam);
      Rectangle(ThisWindowDC, StartGDIX, StartGDIY, EndGDIX, EndGDIY);
      FirstDraw = FALSE;
      SetROP2(ThisWindowDC, DisplayMode);
   }
   return (0);