RE: Win32Lib: Common Controls revisited
- Posted by CoJaBo <cojabo at suscom.net> Aug 24, 2004
- 429 views
Matt Lewis wrote: > > Derek Parnell wrote: > > Brian Broker wrote: > > > > > > If it doesn't break anything else, can we get this fix? I'd really like > > > to have my programs look right with version 6 common controls. > > > > The problem is triggered by the use of XP manifests. The way the Win32lib > > works is that it sets the background color to the values built-in to the > > library, whenever Windows asks for the user-defined background color. That > > is to say, Win32lib gives all controls a user-defined color. By default > > this is the colors set by the user in the current Display Appearance Scheme. > > > > But this only works when there is no manifest in place, or the manifest > > is using the 'classic' scheme. If an alterate manifest is active, Win32lib's > > operation is always replacing whatever the manifest does with the built-in > > colors (though not in ways you'd expect). > > > > To 'fix' this, I have to change the internal usage of a number of color > > attributes so that the library only sets the background color for those > > controls that have explicitly been asked by the user app to use a specific > > color. This might also affect text colors too. So more research will > > need to be done. > > > > The upshot is that it will take me a few days to get it right! > > I guess this is where you've changed the classBGColor values from > COLOR_WINDOW to w32NoColor? This causes a problem under Win2KPro with > treeviews. The tree lines now are dark grey, while the rest of the control > is white. This happens on XP PRO too. > > Perhaps the old behavior should be maintained, and a new routine like > useThemes() could be implemented to change the appropriate backgrounds. > I suppose you could autodetect this for XP. > > Matt Lewis >