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: http://msdn.microsoft.com/en-us/library/windows/desktop/aa375136%28v=vs.85%29.aspx
ReactOS Development List <[email protected]> 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 <[email protected]> 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 > > [email protected] > > http://www.reactos.org/mailman/listinfo/ros-dev > > _______________________________________________ > Ros-dev mailing list > [email protected] > http://www.reactos.org/mailman/listinfo/ros-dev _______________________________________________ Ros-dev mailing list [email protected] http://www.reactos.org/mailman/listinfo/ros-dev
