[ros-diffs] [gadamopoulos] 53029: [comctl32] - Register themed built-in controls even if themes are not enabled. This allows built in controls to use themes without restarting the application - Register built ...

gadamopoulos at svn.reactos.org gadamopoulos at svn.reactos.org
Tue Aug 2 13:54:41 UTC 2011


Author: gadamopoulos
Date: Tue Aug  2 13:54:41 2011
New Revision: 53029

URL: http://svn.reactos.org/svn/reactos?rev=53029&view=rev
Log:
[comctl32]
- Register themed built-in controls even if themes are not enabled. This allows built in controls to use themes without restarting the application
- Register built in controls in the same way it done in windows (as global classes that belong to comctl32). This is needed in order to have themed controls in dialogs. Unfortunately our user32/win32k does not support it yet and this breaks themed built in controls

Modified:
    branches/GSoC_2011/ThemesSupport/dll/win32/comctl32/theming.c

Modified: branches/GSoC_2011/ThemesSupport/dll/win32/comctl32/theming.c
URL: http://svn.reactos.org/svn/reactos/branches/GSoC_2011/ThemesSupport/dll/win32/comctl32/theming.c?rev=53029&r1=53028&r2=53029&view=diff
==============================================================================
--- branches/GSoC_2011/ThemesSupport/dll/win32/comctl32/theming.c [iso-8859-1] (original)
+++ branches/GSoC_2011/ThemesSupport/dll/win32/comctl32/theming.c [iso-8859-1] Tue Aug  2 13:54:41 2011
@@ -118,9 +118,7 @@
         { 'C','C','3','2','T','h','e','m','i','n','g','S','u','b','C','l',0 };
     static const WCHAR refDataPropName[] = 
         { 'C','C','3','2','T','h','e','m','i','n','g','D','a','t','a',0 };
-
-    if (!IsThemeActive()) return;
-
+    
     atSubclassProp = GlobalAddAtomW (subclassPropName);
     atRefDataProp = GlobalAddAtomW (refDataPropName);
 
@@ -133,6 +131,8 @@
         GetClassInfoExW (NULL, subclasses[i].className, &class);
         originalProcs[i] = class.lpfnWndProc;
         class.lpfnWndProc = subclassProcs[i];
+        class.style |= CS_GLOBALCLASS;
+        class.hInstance = COMCTL32_hModule;
         
         if (!class.lpfnWndProc)
         {




More information about the Ros-diffs mailing list