correct comctl32 implementation

Frank Richter frank.richter at
Mon Mar 14 21:25:22 CDT 2011

On 11.03.2011 10:28, Nikolay Sivov wrote:
> In version 6 all user32 controls are reimplemented with theme support in
> comctl32, while user32 classes are kept of course. This is done with
> specific entries in comctl32 manifest, on load comctl32 all builtin
> classes are re-registered to the ones from comctl32. I definitely want
> to see some solution for that, having themed comctl32 controls while
> scrollbars and buttons are drawn with default appearance makes theme
> support kind of useless.

Buttons: technically, I don't think you need SxS class redirection for
that. The issue with the current “subclassing” is that, well, the button
can't really be subclassed for theming - IIRC some state changes don't
trigger a “paint” message but only cause internal painting - this can't
be caught lass function and breaks theming.
What MS supposedly did was to simply copy'n'paste the controls code into
comctl32 and add theming. That would certainly allow properly themed
buttons. And SxS class redirection...

Scroll bars, are, IIRC, a different beast - window scroll bars are not
controls but handled/drawn by DefWndProc. No idea how native themes
these. Maybe some mojo to override/hook into DefWndProc?


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 262 bytes
Desc: OpenPGP digital signature
URL: <>

More information about the wine-devel mailing list