Re: Attempt to make buttons themed

2005-03-24 Thread Frank Richter
On 22.03.2005 17:00, Alexandre Julliard wrote: Then the first thing to do is to figure out exactly how Windows does it, and do it the same way. To roughly recapitulate: Windows seems to do the theming in the implementation of the standard controls - with the twist that comctl32.dll v6 contains cop

Re: Attempt to make buttons themed

2005-03-24 Thread Frank Richter
On 23.03.2005 13:25, Frank Richter wrote: Sounds plausible. Reading a bit up on window classes on MSDN (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windowclasses/aboutwindow.asp) indicates that overrideability of the default system c

Re: Attempt to make buttons themed

2005-03-23 Thread Kevin Koltzau
On Wednesday 23 March 2005 07:04 am, Boaz Harrosh wrote: > 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

Re: Attempt to make buttons themed

2005-03-23 Thread Jonathan Wilson
ok, further to what I mentioned before about RegisterUserApiHooks (and poking around in uxtheme.dll), I see the following things being hooked by uxtheme (at least it seems to be the complete list) GetScrollInfo SetScrollInfo EnableScrollBar SetWindowRgn DefWindowProcW DefWindowProcA PreWndProc (p

Re: Attempt to make buttons themed

2005-03-23 Thread Rob Shearman
Boaz Harrosh wrote: 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. Erm, it's not just the painting that needs to be overridden.

Re: Attempt to make buttons themed

2005-03-23 Thread Frank Richter
On 23.03.2005 13:04, Boaz Harrosh wrote: 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.

Re: Attempt to make buttons themed

2005-03-23 Thread Boaz Harrosh
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 n

Re: Attempt to make buttons themed

2005-03-23 Thread Frank Richter
On 22.03.2005 17:00, Alexandre Julliard wrote: Then the first thing to do is to figure out exactly how Windows does it, and do it the same way. 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

Re: Attempt to make buttons themed

2005-03-22 Thread Robert Shearman
Alexandre Julliard wrote: Frank Richter <[EMAIL PROTECTED]> writes: How Windows is doing theming I don't know completely. You enable theming by adding a manifest to the executable which instructs Windows to load comctl32.dll version 6.0 instead of version 5.x from system32/. That makes me believ

Re: Attempt to make buttons themed

2005-03-22 Thread Alexandre Julliard
Frank Richter <[EMAIL PROTECTED]> writes: > How Windows is doing theming I don't know completely. You enable > theming by adding a manifest to the executable which instructs Windows > to load comctl32.dll version 6.0 instead of version 5.x from > system32/. That makes me believe that actually comc

Re: Attempt to make buttons themed

2005-03-22 Thread Jakob Eriksson
Frank Richter wrote: On 22.03.2005 15:12, Dmitry Timoshkov wrote: It creates circular dependencies and an impossibility to correctly start up Wine. Imagine for a moment that ntdll depends on foo.dll which in turn imports kernel32. Maybe that can be worked around by having user32.dll load uxtheme

Re: Attempt to make buttons themed

2005-03-22 Thread Frank Richter
On 22.03.2005 15:12, Dmitry Timoshkov wrote: It creates circular dependencies and an impossibility to correctly start up Wine. Imagine for a moment that ntdll depends on foo.dll which in turn imports kernel32. Maybe that can be worked around by having user32.dll load uxtheme.dll lazily... This w

Re: Attempt to make buttons themed

2005-03-22 Thread Jonathan Wilson
Doing a dump of the imports table from native uxtheme.dll from my XPSP2 box, I see that it imports a function from user32.dll called RegisterUserApiHook which is totally undocumented (neither MSDN or google show up any info about what it does). This function is only present in Windows XP (and I

Re: Attempt to make buttons themed

2005-03-22 Thread Frank Richter
On 22.03.2005 09:35, Boaz Harrosh wrote: Where you using a native theme DLL or the builtin one? If native which one where you using? How did you Isolate it, I mean how many dll's, files, and registry is it. If you mean with "Theme DLL" the uxtheme.dll, that is the builtin one. If you mean the DLL

Re: Attempt to make buttons themed

2005-03-22 Thread Frank Richter
On 22.03.2005 09:22, Dmitry Timoshkov wrote: user32 can not depend on uxtheme or any other high level dll. You need to make all the work inside of uxtheme by subclassing/patching every class you wish to change the painting for, and do all the painting inside of uxtheme. I'm not sure how to do it cl

Re: Attempt to make buttons themed

2005-03-22 Thread Frank Richter
On 22.03.2005 00:18, Mike Hearn wrote: Once we get it into CVS, would you be willing to move on and do the other controls? Okay, I'll see what I can do. -f.r.

Re: Attempt to make buttons themed

2005-03-22 Thread Dmitry Timoshkov
"Mike Hearn" <[EMAIL PROTECTED]> wrote: > > user32 can not depend on uxtheme or any other high level dll. > > Hmm, why not? For DLLs that can be recompiled and used on Windows this > policy makes sense but our user32 cannot be, so I do not see what we would > lose by having this. It creates cir

Re: Attempt to make buttons themed

2005-03-22 Thread Mike Hearn
On Tue, 22 Mar 2005 16:22:25 +0800, Dmitry Timoshkov wrote: > user32 can not depend on uxtheme or any other high level dll. Hmm, why not? For DLLs that can be recompiled and used on Windows this policy makes sense but our user32 cannot be, so I do not see what we would lose by having this. The a

Re: Attempt to make buttons themed

2005-03-22 Thread Boaz Harrosh
Frank Richter wrote: Hi, to see how easy (or not) it would be to make the controls use themes, I tried to get themed buttons; the result is the attached patch (to try it out, you need an .msstyles file and appropriate registry setup). It's probably not perfect as it is, comments/questions are w

Re: Attempt to make buttons themed

2005-03-22 Thread Dmitry Timoshkov
"Frank Richter" <[EMAIL PROTECTED]> wrote: > to see how easy (or not) it would be to make the controls use themes, I > tried to get themed buttons; the result is the attached patch (to try it > out, you need an .msstyles file and appropriate registry setup). It's > probably not perfect as it is

Re: Attempt to make buttons themed

2005-03-21 Thread Mike Hearn
On Mon, 21 Mar 2005 20:05:57 +0100, Frank Richter wrote: > Hi, > to see how easy (or not) it would be to make the controls use themes, I > tried to get themed buttons; the result is the attached patch (to try it > out, you need an .msstyles file and appropriate registry setup). It's > probably n

Attempt to make buttons themed

2005-03-21 Thread Frank Richter
Hi, to see how easy (or not) it would be to make the controls use themes, I tried to get themed buttons; the result is the attached patch (to try it out, you need an .msstyles file and appropriate registry setup). It's probably not perfect as it is, comments/questions are welcome. Screenshot: h