Default System Colors

Kevin Koltzau kevin at plop.org
Tue Nov 16 16:52:30 CST 2004


On Tuesday 16 November 2004 10:38 am, William Poetra Yoga H wrote:
> So, does the app know that it's being themed? What I mean is, for example an
> app is written for Win 95. In the (unlikely case, so let's change it to Win ME)
> event that it is compatible with Win XP, will it be skinned (without being
> recompiled)?
> 
> If yes, then I think most of user32.dll would have to change, wouldn't it?

Under Windows XP, the only way for an application to be themed is if it has
a manifest in its resources requesting comctl 6.0. If an app was written
for Win95 it will always draw with the old style as it has no manifest.
However, the color scheme of the theme will still be applied to all applications

It is possible to add a a manifest for an existing application without modifying
the executable by placing a <app>.exe.manifest file in the same directory
as the application executables, but your milage may vary on this approach.

A theme-aware application can call the IsThemeActive and IsAppThemed to
determine if a theme is active, and if the current application is themed.
XP has a user-configurable blacklist to prevent applications from being themed,
even if they are theme-aware..hence the two API calls.



More information about the wine-devel mailing list