title: changing the color of MDI child windows under Windows 7
body: <p>I have an MDI application written in C++ that looks great under Windows XP.  All of the MDI child windows end up looking like their parent window.  Nice.  However, under Windows 7 (and probably Vista), the parent windows have aero glass, and the child windows are this hideous unchangeable baby blue color (same as the Windows 7 Basic theme).  So my application really looks very very bad.</p>
  
  <p>You can see this same ugly behavior by launching Office 2003 and try looking at MDI child windows (perhaps in Excel).  However, Office 2007 actually has three color themes - blue, silver, and black.  These themes somehow carry through to the MDI child windows in Excel.</p>
  
  <p>I don't know how Microsoft is doing this in Office 2007.  I would love to know the trick.  I need to hook and takeover the drawing of my MDI child windows and replicate what the Office 2007 team has pulled off.  The problem is that I want to use all of the DrawTheme* calls so I get the gradients and rounded edges and buttons all drawn properly.  And all of these system calls need a handle to a theme.  But it doesn't seem to be possible to, for example, use SetWindowTheme to change to use the color scheme from another theme.  At least as far as I can tell.</p>
  
  <p>Anyone know how Microsoft accomplished this?</p>