I have an ActiveX control that gets placed in an IE browser container. The control creates another dialog window that has WS_POPUP and WS_LAYERED properties enabled in order to be able to use SetLayeredWindowAttributes(...) function to accomplish color keyed transparency and alpha blending on top of the control.
Because the WS_LAYERED property cannot be used in conjunction with WS_CHILD property the management of the window visibility is not automatic. I need to be able to detect when the ActiveX control is no longer visible (i.e. because the browser tab was changed or minimized) so I can change the visibility of the overlay window.
I have tried to use some of the existing window messages (WM_) to determine this change but have not seen them fire when the IE browser tab is changed. Does anyone know the best way to capture when these visibility changes are happening?