Attempt to make buttons themed
Robert Shearman
rob at codeweavers.com
Tue Mar 22 12:53:04 CST 2005
Alexandre Julliard wrote:
>Frank Richter <resqu at gmx.ch> 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 comctl32.dll is
>>responsible for applying themes to controls (and not uxtheme); how it
>>does it exactly, I don't know. Subclassing is a good guess I'd think,
>>or maybe something like re-registering the standard control classes
>>(if that is possible).
>>
>>However, Windows also themes the non-client area of (almost) all apps
>>even if they don't use comctl32 6.0. That must happen somewhere, too.
>>
>>
>
>Then the first thing to do is to figure out exactly how Windows does
>it, and do it the same way.
>
typedef DWORD (CALLBACK * USERAPIHOOKPROC)(HINSTANCE hInstance, FARPROC
*fnUserApis);
DWORD WINAPI RegisterUserApiHook(HINSTANCE hInstance, USERAPIHOOKPROC
fnUserApiHook);
fnUserApis is an array of User functions that can be overridden.
RegisterUserApiHook is a function that is called once for the entire
system and then user32 loads the specified module for each process and
calls the specified fnUserApiHook function for that process. It is a
cumbersome interface that may not be worth duplicating.
Rob
More information about the wine-devel
mailing list