Hi, I've recently submitted a patch to add initial theming support for push buttons. Most likely I'll have to iterate over it a few times before it could get accepted into CVS, so I'd like to just query for comments/questions/criticism on it. Thanks!
Patch: http://www.winehq.org/hypermail/wine-patches/2005/07/0073.html
-f.r.
Frank Richter wrote:
Hi, I've recently submitted a patch to add initial theming support for push buttons. Most likely I'll have to iterate over it a few times before it could get accepted into CVS, so I'd like to just query for comments/questions/criticism on it. Thanks!
I don't like the comctl32/theming.c file you added at all. If you are going to subclass a control, you should use the common control subclassing functions, but it's not clear to me that that is the best option. Also, it might be worth making uxtheme into a delay load import so that we don't incur the load penalty when using non-themed controls.
On 06.07.2005 20:22, Robert Shearman wrote:
I don't like the comctl32/theming.c file you added at all. If you are going to subclass a control, you should use the common control subclassing functions, but it's not clear to me that that is the best option.
Well, my initial idea was to set up a window creation hook and subclass (the user32) controls from there, using the subclassing functions. Being that somewhat complicated, Kevin suggested to start with the simpler SetClassLong() subclassing, and change the method later as needed.
Also, it might be worth making uxtheme into a delay load import so that we don't incur the load penalty when using non-themed controls.
Hm... although, theming is slightly more than just painting controls; loading uxtheme with a theme activated also changes the sys colors and a system setting (flat menus). OTOH, those could be written to the registry when a theme is activated.
-f.r.
Frank Richter wrote:
On 06.07.2005 20:22, Robert Shearman wrote:
I don't like the comctl32/theming.c file you added at all. If you are going to subclass a control, you should use the common control subclassing functions, but it's not clear to me that that is the best option.
Well, my initial idea was to set up a window creation hook and subclass (the user32) controls from there, using the subclassing functions. Being that somewhat complicated, Kevin suggested to start with the simpler SetClassLong() subclassing, and change the method later as needed.
That sounds like a good plan, but I would still recommend using SetWindowSubclass to do the subclassing. You can see the list of benfits here: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/pla...