Default System Colors

William Poetra Yoga H williampoetra at
Fri Nov 19 17:17:18 CST 2004

--- Kevin Koltzau <kevin at> wrote:

> For colors, you don't need to do anything in most cases. Theme colors
> override the default
> system colors for all applications.

OK, so I think windows/nonclient.c doesn't need to be changed, we just have to
load a theme somewhere at wineserver startup.

> GetThemeSysColor and GetSysColor are very similar, in most cases just using
> GetSysColor
> is the better option. GetThemeSysColor comes in handy when the application
> may have
> changed the system colors through a call to SetSysColors and you need to
> ensure you get
> the theme color, which is a rare situation.

But why is GetSysColor() better? If an application can change the system
colors, then the GetSysColor() function's return value may be inconsistent
(with the current theme color) which is not good. And how do we know that an
application has changed the colors? So in this case I think it's better to call
GetThemeSysColor() in windows/* code, right?

> In general, a theme-aware application does not need to do anything
> differently. The two major differences are
> owner-drawn controls and the addition of a manifest in the resources.

But I think wine's dlls need to be altered a bit :)

Do you Yahoo!? 
Meet the all-new My Yahoo! - Try it today! 

More information about the wine-devel mailing list