Frank Richter resqu@gmx.ch writes:
How Windows is doing theming I don't know completely. You enable theming by adding a manifest to the executable which instructs Windows to load comctl32.dll version 6.0 instead of version 5.x from system32/. That makes me believe that actually comctl32.dll is responsible for applying themes to controls (and not uxtheme); how it does it exactly, I don't know. Subclassing is a good guess I'd think, or maybe something like re-registering the standard control classes (if that is possible).
However, Windows also themes the non-client area of (almost) all apps even if they don't use comctl32 6.0. That must happen somewhere, too.
Then the first thing to do is to figure out exactly how Windows does it, and do it the same way.