I am creating a windowing library based on Win32 for OpenGL and I would like to implement the posibility to have non rectagular windows. I know about DWM but I want to be able to click somewhere in the window’s rectangle I defined and “the cursor goes through the window”, if there is for example another window behind, it recives the messages of the click. This can be done with the
WS_EX_LAYERED flag and the
SetLayeredWindowAttributes() function, however, the documentation for the
WS_EX_LAYERED flag says “This style cannot be used if the window has a class style of either
CS_CLASSDC.” however the WGL doc says that Win32 windows’s classes must have the
CS_OWNDC style set ! So what should I do ? Is there another way to have non rectangulat windows ? If not, should I break one of the tow rules and either use layered windows with
CS_OWNDC anyway or not set the
CS_OWNDC flag ? Or I can’t have non rectangular windows at all ?
I am using the ARB extention for choosing the pixel format and ceating the context.