title: flicker free tab control with WS_EX_COMPOSITED
body: <p>I have a VS2008 C++ application for Windows XP SP3 developed using WTL 8.1. My application contains a tab control that flickers when the application border is resized.</p>
  
  <p>My window hierarchy looks like this:</p>
  
  <pre><code>CFrameWindowImpl   CMainFrm
  |-CSplitterWindow  Splitter
    |-CTabView       Configuration Tabs
    | |-CDialogImpl  Configuration View 1
    | |-CDialogImpl  Configuration View 2
    | |-CDialogImpl  Configuration View 3
    |-CDialogImpl    Control View
  </code></pre>
  
  <p>The solution I'm trying is to make the <code>CFrameWindowImpl</code> derived class use the <code>WS_EX_COMPOSITED</code> style and all windows beneath it use the <code>WS_EX_TRANSPARENT</code> style. Unfortunately, this makes the tab control buttons show as an empty black bar and the controls of any Configuration View to not show at all.</p>
  
  <p>If I remove the <code>WS_EX_COMPOSITED</code> and <code>WS_EX_TRANSPARENT</code> styles, the form displays properly, but the <code>CTabView</code> and everything beneath it flickers horribly when resized.</p>
  
  <p>What do I need to change to eliminate the flicker and draw the controls properly?</p>
  
  <p>Thanks,
  PaulH</p>
  
  <hr>
  
  <p>Edit:
   Got it working. I removed all the <code>WS_EX_TRANSPARENT</code> styles per Mark Ransom's suggestion. I put the <code>WS_EX_COMPOSITED</code> style on <em>only</em> the <code>CTabCtrl</code> (contained within the <code>CTabView</code>). Other controls get double-buffering as needed through <code>WTL::CDoubleBufferImpl&lt;&gt;</code>.</p>