Is it possible to use Win32 WS_EX_LAYERED windows with OpenGL?

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.