<p>I am trying to create a control that implements the per-pixel alpha blend while painting a 32-bit bitmap.</p>

<p>I extended a CWnd and use static control in the resource editor. I managed to paint the alpha channel correctly but still the static control keep painting the gray background.</p>

<p>I overwrote the OnEraseBkgnd to prevent the control from painting the background but it didn't worked. I finally managed to do it by using WS_EX_TRANSPARENT.</p>

<p>My problem now is that my control is placed over other control. The first time the dialog is painted all works fine...but if I click over the "parent" control (ie the one beneath my control) my control doesn't received the WM_PAINT message. So it is not painted anymore.</p>

<p>If I minimize the aplication and maximized it again the controls are painted again.</p>

<p>Please, can anybody give a hint? I am getting crazy with this control!!!</p>

<p>Thanks.  </p>

I would have though that if you are processing both the
WM_ERASEBKGND
and the
WM_PAINT
messages then you should have cover all the painting options, without having to resort to using the
WS_EX_TRANSPARENT
style.
Are you sure your code
is not passing
these messages on to the
default processing
?
One other option might be to
subclass
the static control, just to make sure your code is the only one handling these two messages.