From 638f717d905969c7d9d20c711c7d1c2c75665c2c Mon Sep 17 00:00:00 2001 From: Mounir IDRASSI Date: Tue, 28 Aug 2018 16:54:51 +0200 Subject: Windows: Fix buttons at the bottom not shown when user sets a large system font under Window 7 --- src/Mount/Mount.c | 15 +++++++++++++++ src/Mount/Mount.rc | 2 +- src/Mount/Resource.h | 3 ++- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/Mount/Mount.c b/src/Mount/Mount.c index aefafe94..6e6d601e 100644 --- a/src/Mount/Mount.c +++ b/src/Mount/Mount.c @@ -537,6 +537,21 @@ static void InitMainDialog (HWND hwndDlg) SendMessage (GetDlgItem (hwndDlg, IDC_NO_HISTORY), BM_SETCHECK, bHistory ? BST_UNCHECKED : BST_CHECKED, 0); EnableDisableButtons (hwndDlg); + + // Ensure bottom buttons are visible if the user sets a large font size + RECT mainRectScreen, boxRectScreen; + ULONG mainHeigth, mainWidth, correctHeigth; + GetWindowRect (hwndDlg, &mainRectScreen); + GetWindowRect (GetDlgItem (hwndDlg, IDC_LOWER_BOX), &boxRectScreen); + + mainHeigth = mainRectScreen.bottom - mainRectScreen.top; + mainWidth = mainRectScreen.right - mainRectScreen.left; + correctHeigth = boxRectScreen.bottom - mainRectScreen.top + CompensateYDPI (5); + + if (mainHeigth < correctHeigth) + { + SetWindowPos (hwndDlg, NULL, 0, 0, mainWidth, correctHeigth , SWP_NOACTIVATE | SWP_NOZORDER | SWP_NOMOVE | SWP_SHOWWINDOW); + } } } diff --git a/src/Mount/Mount.rc b/src/Mount/Mount.rc index 75d3682f..381a8a76 100644 --- a/src/Mount/Mount.rc +++ b/src/Mount/Mount.rc @@ -179,7 +179,7 @@ BEGIN CONTROL "",IDC_STATIC,"Static",SS_ETCHEDFRAME,190,242,88,20 CONTROL "",IDC_STATIC,"Static",SS_ETCHEDFRAME,6,242,88,20 CONTROL "",IDC_STATIC,"Static",SS_ETCHEDFRAME,98,242,88,20 - CONTROL "",IDC_STATIC,"Static",SS_ETCHEDFRAME,2,151,372,119 + CONTROL "",IDC_LOWER_BOX,"Static",SS_ETCHEDFRAME,2,151,372,119 END IDD_PASSWORD_DLG DIALOGEX 0, 0, 330, 103 diff --git a/src/Mount/Resource.h b/src/Mount/Resource.h index d66e1282..48451638 100644 --- a/src/Mount/Resource.h +++ b/src/Mount/Resource.h @@ -190,6 +190,7 @@ #define IDC_ALLOW_TRIM_NONSYS_SSD 1167 #define IDC_BLOCK_SYSENC_TRIM 1168 #define IDC_ALLOW_WINDOWS_DEFRAG 1169 +#define IDC_LOWER_BOX 1170 #define IDM_HELP 40001 #define IDM_ABOUT 40002 #define IDM_UNMOUNT_VOLUME 40003 @@ -266,7 +267,7 @@ #define _APS_NO_MFC 1 #define _APS_NEXT_RESOURCE_VALUE 120 #define _APS_NEXT_COMMAND_VALUE 40069 -#define _APS_NEXT_CONTROL_VALUE 1170 +#define _APS_NEXT_CONTROL_VALUE 1171 #define _APS_NEXT_SYMED_VALUE 101 #endif #endif -- cgit v1.2.3