Possible to create a new window class for gadgets?

BlitzPlus Forums/BlitzPlus Programming/Possible to create a new window class for gadgets?

JoshK(Posted 2004) [#1]
I want some, but not all, of my panels to have no brush background. This is done with SetClassLong hwnd,GCL_HBRBACKGROUND,0. SetClass affects all members of that class, i.e. all panels. Is there any way I can specify some panels to be a different class?


skidracer(Posted 2004) [#2]
I ran into this with labels which I think should also have transparent background, might be worth adding a style flag for both types for this (btw you will be pleased to know I've added a HIDEWINDOW style flag with CreateWindow for next release).


JoshK(Posted 2004) [#3]
Very nice!

The reason I would like this for panels is for OpenGL rendering. If you disable the brush, you get a solid render as you resize a window, with no flickering.


JoshK(Posted 2004) [#4]
Hmmm...it seems an additional style is needed...otherwise the OpenGL viewport gets painted over when another window crosses over it...isn't there some kind of a "Save Bits" style you can use? I can't find any win32 constants like that...

...I tried this, to no effect. Hwnd is the panel:
style=GetClassLong(hwnd,GCL_STYLE)
SetClassLong hwnd,GCL_STYLE,style+CS_SAVEBITS