Attempt to make buttons themed

Boaz Harrosh boaz at hishome.net
Wed Mar 23 06:04:49 CST 2005


Frank Richter wrote:

> Most interesting is probably to find out how the standard controls 
> from user32 are themed. Poking a bit around in comctl32 6.0, it seems 
> that it actually just registers the standard classes with 
> RegisterClassW, nothing more. AFAIK you can't register a class when 
> the class name is already used, so it would be interesting to know why 
> comctl32.dll can get away with it.


Maybe it only register as per Process, which makes sense. And it does 
that before any window is displayed. Actually I know when. (A bug I had) 
it does it in the InitCommonControlsEx call. Not even in the DLLMain. An 
app that needs theming needs 3 things. 1. Link to comctl32 2. call 
InitCommonControlsEx and 3. a manifest. Right? So I guess you have it.

I'm not 100% but I think there is no need for duplicate code. All 
comctl32 needs to do is chain to the user32 classes, only overriding 
PAINT messages and some mouse events. So you don't have to reinvent the 
wheel.

Do you need lots of themed controls WM_PAINT code? Check out 
codeproject.com GUILIB project. They owner draw all windows controls 
with themes support.

Free Life
Boaz





More information about the wine-devel mailing list