[OSK] Set also the large icon (that appears in the App Switcher) and move the code in OSK_DlgInitDialog().

This commit is contained in:
Hermès Bélusca-Maïto 2018-12-10 00:56:08 +01:00
parent 12fdc129cf
commit 92763e2901
No known key found for this signature in database
GPG Key ID: 3B2539C65E7B93D0

View File

@ -58,32 +58,6 @@ 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
@ -134,7 +108,8 @@ INT_PTR CALLBACK OSK_WarningProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lPar
*/
int OSK_DlgInitDialog(HWND hDlg)
{
HMONITOR monitor;
HICON hIcon, hIconSm;
HMONITOR monitor;
MONITORINFO info;
POINT Pt;
RECT rcWindow;
@ -146,11 +121,18 @@ int OSK_DlgInitDialog(HWND hDlg)
LoadDataFromRegistry();
/* Set the application's icon */
OSK_SetAppIcon();
hIcon = LoadImageW(Globals.hInstance, MAKEINTRESOURCEW(IDI_OSK), IMAGE_ICON, 0, 0, LR_SHARED | LR_DEFAULTSIZE);
hIconSm = CopyImage(hIcon, IMAGE_ICON, GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), LR_COPYFROMRESOURCE);
if (hIcon || hIconSm)
{
/* Set the window icons (they are deleted when the process terminates) */
SendMessageW(Globals.hMainWnd, WM_SETICON, ICON_BIG, (LPARAM)hIcon);
SendMessageW(Globals.hMainWnd, WM_SETICON, ICON_SMALL, (LPARAM)hIconSm);
}
/* Get screen info */
memset(&Pt, 0, sizeof(Pt));
monitor = MonitorFromPoint(Pt, MONITOR_DEFAULTTOPRIMARY );
monitor = MonitorFromPoint(Pt, MONITOR_DEFAULTTOPRIMARY);
info.cbSize = sizeof(info);
GetMonitorInfoW(monitor, &info);