[OSK] Initialize the common controls
authorBișoc George <fraizeraust99@gmail.com>
Thu, 28 Mar 2019 15:09:16 +0000 (16:09 +0100)
committerHermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
Thu, 28 Mar 2019 18:02:48 +0000 (19:02 +0100)
On-Screen Keyboard has a manifest which is used for visual styles. However, the common controls aren't initialized and as a general rule the controls have to be loaded in the application's handle instance.

base/applications/osk/main.c
base/applications/osk/osk.h

index 30e9794..e12d68d 100644 (file)
@@ -587,6 +587,7 @@ int WINAPI wWinMain(HINSTANCE hInstance,
     HANDLE hMutex;
     DWORD dwError;
     INT LayoutResource;
+    INITCOMMONCONTROLSEX iccex;
 
     UNREFERENCED_PARAMETER(prev);
     UNREFERENCED_PARAMETER(cmdline);
@@ -615,6 +616,11 @@ int WINAPI wWinMain(HINSTANCE hInstance,
         }
     }
 
+    /* Load the common controls */
+    iccex.dwSize = sizeof(INITCOMMONCONTROLSEX);
+    iccex.dwICC = ICC_STANDARD_CLASSES | ICC_WIN95_CLASSES;
+    InitCommonControlsEx(&iccex);
+
     ZeroMemory(&Globals, sizeof(Globals));
     Globals.hInstance = hInstance;
 
index 5de39d3..f320d14 100644 (file)
@@ -14,6 +14,7 @@
 #include <stdio.h>
 
 #include <windows.h>
+#include <commctrl.h>
 #include <debug.h>
 
 #include "main.h"