mike at theoretic.com
Wed Feb 25 05:28:21 CST 2004
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
That sounds rather complicated and like it might introduce further bugs
when apps don't expect controls to be already subclassed...
More information about the wine-devel