[OSK] Display the correct icon of the application. (#1105)
[reactos.git] / base / applications / osk / main.c
index 6c17933..7f5a5e9 100644 (file)
@@ -58,6 +58,32 @@ int OSK_SetImage(int IdDlgItem, int IdResource)
     return TRUE;
 }
 
+/***********************************************************************
+ *
+ *           OSK_SetAppIcon
+ *
+ *  Set the application's icon
+ */
+BOOL OSK_SetAppIcon()
+{
+    HICON hIconSmall;
+
+    /* Load the icon */
+    hIconSmall = LoadImageW(Globals.hInstance, MAKEINTRESOURCEW(IDI_OSK), IMAGE_ICON, 0, 0, LR_DEFAULTSIZE);
+
+    /* Send a message window indicating that the icon has to be set */
+    SendMessageW(Globals.hMainWnd, WM_SETICON, ICON_SMALL, (LPARAM)hIconSmall);
+
+    if (!hIconSmall)
+    {
+        /* If we fail then return FALSE and bail out */
+        DestroyIcon(hIconSmall);
+        return FALSE;
+    }
+
+    return TRUE;
+}
+
 /***********************************************************************
  *
  *          OSK_WarningProc
@@ -119,6 +145,9 @@ int OSK_DlgInitDialog(HWND hDlg)
     /* Load the settings from the registry hive */
     LoadDataFromRegistry();
 
+    /* Set the application's icon */
+    OSK_SetAppIcon();
+
     /* Get screen info */
     memset(&Pt, 0, sizeof(Pt));
     monitor = MonitorFromPoint(Pt, MONITOR_DEFAULTTOPRIMARY );