On Tue, 24 Feb 2004 22:04:13 -0500, Kevin Koltzau wrote: > I'm starting to work on theming some widgets, and I've come up with a few methods of > doing this: > 1) Add theming code to every widget itself, static link to uxtheme.dll > 2) Add theming code to every widget itself, using LoadLibrary/GetProcAddress > 3) Subclass widgets when uxtheme.dll is loaded and override default painting
4) Theme all widgets with a hard link to uxtheme but have a "Win98 look" theme which replicates the current drawing? > Windows takes a totally different approach, using a different version of > common controls that implement theming, under windows in order to enable > theming you first need a manifest to load the proper version of > comctrl32 then you also must call InitCommonControls which registers the > standard controls (BUTTON,EDIT,etc) Well, to be strictly like Windows then I guess we could actually build comctl32 twice with #ifdefs etc for the theming code. > Going with that, I think #3 might be the best option, and extend > InitCommonControls to subclass the standard controls if theming is > enabled That sounds rather complicated and like it might introduce further bugs when apps don't expect controls to be already subclassed... thanks -mike
