I forgot to mention tha comctl32 does not use window classes in a classic way but uses a
briefly documented feature called side by side classes explained here:
ReactOS Development List <ros-dev(a)reactos.org> wrote on Thu, October 6th, 2011,
11:10 AM:
Hi, this is correct. To undesrtand how this should be
I just attached windbg to a program and watched the parameters comctl32 passes to
RegisterClassEx
ReactOS Development List <ros-dev(a)reactos.org> wrote on Thu, October 6th, 2011,
10:56 AM:
Hi!!
This is wrong, 8^(
+ class.style |= CS_GLOBALCLASS;
+ class.hInstance = COMCTL32_hModule;
The point in THEMING_Initialize was to get the current global classes
and make locals for each process. So that process could have it. Not
the whole system!
Note from a msdn blog, "If you pass the CS_GLOBALCLASS flag when
registering the class, then the window manager will ignore the
instance handle when looking for your class. All of the USER32 classes
are registered as global."
I spent a week now looking through it all, ReactOS is handling the
class registration correctly. My best guess, if themes is active do as
the original code had it before and use IsThemeActive like it is
setup. Keep class.hInstance = COMCTL32_hModule; and don't use
CS_GLOBALCLAS so you can find it again.
Thanks,
James
_______________________________________________
Ros-dev mailing list
Ros-dev(a)reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev
_______________________________________________
Ros-dev mailing list
Ros-dev(a)reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev