title: RedrawWindow() issue on child windows
body: <p>In my win32 application, I created a pop-up window which I use it to display contents of other windows.</p>
  
  <p>For example, I have a Photoshop application running. I grab a handle to its main window and make its style a child window and set its parent as my own window. This places Photoshop in my application.</p>
  
  <p>Afterwards, I hide the photoshop window (set opacity to 0), and instead grab its Device Context contents into a bitmap that I created, and I draw this bitmap on my window. To do this, I set up a timer that ticks every 16 milliseconds (60 hz). This is the timer:</p>
  
  <pre><code>void CALLBACK drawProc( HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime )
  {
      updateFrames();
  
      RECT r;
      GetClientRect( hwnd, &amp;r );
  
      //Erase background
      HBRUSH eraseBrush = CreateSolidBrush( RGB( 255, 255, 255 ) );
      FillRect( bbHDC, &amp;r, eraseBrush );
      DeleteObject( eraseBrush );
  
      //Draw frames
      drawFrames( bbHDC );    
  
      RedrawWindow( hwnd, 0, 0, RDW_INVALIDATE | RDW_NOCHILDREN );
  }
  </code></pre>
  
  <p>The problem is, this slows photoshop (and some other applications down). By commenting lines out I found out that redrawWindow causes this. I thought redrawing main window maybe causes photoshop to redraw its contents as well, so I added RDW_NOCHILDREN but still the slowness remains. </p>
  
  <p>I'll be glad if someone can help me out on this.</p>
  
  <p>Thanks.</p>