Audit the buttons code

Robert Shearman rob at codeweavers.com
Tue Oct 5 09:39:05 CDT 2004


Dmitry Timoshkov wrote:

>"Dimitrie O. Paun" <dpaun at rogers.com> wrote:
>
>  
>
>>>I didn't oppose a comment itself, I don't like that it confuses people
>>>by mentioning comctl32. That's simply not true.
>>>      
>>>
>>Dmitry, please stop repeating misinformation. Go read the MSDN, I've
>>provided you with the relevant URLs. Here is the situation:
>>  -- in XP, there are *two* implementations of the standard controls:
>>     the old one in user32, and a strict superset, in comctl32.
>>     Applications can ask for the one in comctl32 by specifying so
>>     in their manifest file. This is done so that applications continue
>>     to run on older versions of Windows.
>>    
>>
>
>You still didn't provide anything to prove that comctl32 in XP simply
>does not subclass user32 button. I repeat that there is *one* button
>implementation is user32, and comctl32 most likely simply add theming
>to it by providing custom drawing code.
>

This is impossible. You can only subclass using a window with a 
different class name or a window of the same class name with the 
previous class unregistered and using the old window proc with identical 
class attributes. Since the class name is the same for both the old 
user32 controls and the new comctl32 controls then the first method 
cannot be used. Since the old window proc is not exported from user32 
(and with good reason) the second cannot be used.

Rob




More information about the wine-devel mailing list