On Thursday 18 November 2004 01:04 am, William Poetra Yoga H wrote:
> This is getting a bit complicated. So right now for the colors, we can use
> uxtheme, right? We should just use GetThemeSysColor(), not GetSysColor(). Btw,
> why does MS have GetThemeColor()? From what I can see in the MSDN, the only
> difference is its calling convention.

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

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.

GetThemeColor allows the system colors to be overridden on a per-control basis 
based on the part & state.
If you are working on the common controls in wine, or are writing an 
owner-drawn control that you want to
look like a common control, this is the function to use to retrieve system 
colors. It will always fall back on
the system colors when a match is not found on the part & state.

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.

Reply via email to