c++ - windows beneath not being painted when using a layered window -


I will try my problem I explain the best,

I'm creating a layered window C ++ (using WindowsXP), until I recover all the work does not pull the window went up my near windows start button, then, and then when I press the star button in the windows taskbar do it again If not, all windows are not being painted under my layer window (A Delay in start window which goes on my window).

Make my window like this:

CWnd :: CreateEx (WS_EX_TOOLWINDOW | WS_EX_LAYERED, Wx_EX_LAYERED, AFXRegisterWndClass (0), lpstr_name, WS_POPUP, 0,0,0 , 0,0, PC_parrent-> Getssefhand (), 0);

...

When I make the window problem with these styles is okurors, but if I create problem with extended style WS_EX_TRANSPARENT and all other problems then no more and if instead of a WS_POPUP window is a WS_CHILD or WS_OVERLAPPED so it does not happen ...

what no one could please explain that when I make WS_POPUP window with WS_EX_LAYERED style So all the windows are down, and if I style the WS_EX_TRANSPARENT h Dta that it works properly.

Note: Why do I use the WS_EX_TRANSPARENT style if it works correctly? If I use it then my window can not be dragged and I need it :)

Updated:

The above image is better than what is to describe the first part against the image you can see my leyered window and down, I start button suppress and then the last image in another IMG I am already pulling out my layered window right And you can see that Indojh not update the affected area to note that in this case is only the start window so far?! This does not happen with other windows !! ...

thanks

only started on my window In the area of ​​the window

It is expected that only that clipping rectangle is hidden by the Start menu, so only that area will be re-painted. What are you expecting? If more upper-level windows are covered windows, then they will not be repeated again - why to repaint some colors?

The need to paint the bottom of the windows, though you can not calculate the final color of the pixel without knowing the area under color because GDI window transparent use.


Comments