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_OWNDC
or 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.