https://git.reactos.org/?p=reactos.git;a=commitdiff;h=52befa1d7363a722adb80edf9e12bcfe834236cb

commit 52befa1d7363a722adb80edf9e12bcfe834236cb
Author:     Arnav Bhatt <[email protected]>
AuthorDate: Thu Dec 23 05:55:32 2021 +0530
Commit:     GitHub <[email protected]>
CommitDate: Thu Dec 23 01:25:32 2021 +0100

    [SYSDM] Make the environment dialog box resizable (#4038)
    
    Make it resizable, similarly to what is done in Windows 10.
---
 dll/cpl/sysdm/environment.c | 301 ++++++++++++++++++++++++++++++++++++++++++--
 dll/cpl/sysdm/lang/bg-BG.rc |   7 +-
 dll/cpl/sysdm/lang/cs-CZ.rc |   7 +-
 dll/cpl/sysdm/lang/da-DK.rc |   7 +-
 dll/cpl/sysdm/lang/de-DE.rc |   7 +-
 dll/cpl/sysdm/lang/el-GR.rc |   7 +-
 dll/cpl/sysdm/lang/en-US.rc |   7 +-
 dll/cpl/sysdm/lang/es-ES.rc |   7 +-
 dll/cpl/sysdm/lang/fr-FR.rc |   7 +-
 dll/cpl/sysdm/lang/he-IL.rc |   7 +-
 dll/cpl/sysdm/lang/hu-HU.rc |   7 +-
 dll/cpl/sysdm/lang/id-ID.rc |   7 +-
 dll/cpl/sysdm/lang/it-IT.rc |   7 +-
 dll/cpl/sysdm/lang/ja-JP.rc |   7 +-
 dll/cpl/sysdm/lang/nl-NL.rc |   7 +-
 dll/cpl/sysdm/lang/no-NO.rc |   7 +-
 dll/cpl/sysdm/lang/pl-PL.rc |   7 +-
 dll/cpl/sysdm/lang/pt-PT.rc |   7 +-
 dll/cpl/sysdm/lang/ro-RO.rc |   7 +-
 dll/cpl/sysdm/lang/ru-RU.rc |   7 +-
 dll/cpl/sysdm/lang/sk-SK.rc |   7 +-
 dll/cpl/sysdm/lang/sq-AL.rc |   7 +-
 dll/cpl/sysdm/lang/sv-SE.rc |   7 +-
 dll/cpl/sysdm/lang/tr-TR.rc |   7 +-
 dll/cpl/sysdm/lang/uk-UA.rc |   7 +-
 dll/cpl/sysdm/lang/zh-CN.rc |   7 +-
 dll/cpl/sysdm/lang/zh-TW.rc |   7 +-
 dll/cpl/sysdm/resource.h    |   2 +
 28 files changed, 398 insertions(+), 87 deletions(-)

diff --git a/dll/cpl/sysdm/environment.c b/dll/cpl/sysdm/environment.c
index b10aa2b4959..49f408af182 100644
--- a/dll/cpl/sysdm/environment.c
+++ b/dll/cpl/sysdm/environment.c
@@ -23,6 +23,14 @@ typedef struct _VARIABLE_DATA
     LPTSTR lpCookedValue;
 } VARIABLE_DATA, *PVARIABLE_DATA;
 
+typedef struct _ENVIRONMENT_DIALOG_DATA
+{
+    DWORD cxMin;
+    DWORD cyMin;
+    DWORD cxOld;
+    DWORD cyOld;
+} ENVIRONMENT_DIALOG_DATA, *PENVIRONMENT_DIALOG_DATA;
+
 typedef struct _ENVIRONMENT_EDIT_DIALOG_DATA
 {
     BOOL bIsItemSelected;
@@ -230,7 +238,7 @@ AddEmptyItem(HWND hwndListView,
     lvi.pszText = _T("");
     lvi.iItem = dwSelectedValueIndex;
     lvi.iSubItem = 0;
-    ListView_InsertItem(hwndListView, &lvi);    
+    ListView_InsertItem(hwndListView, &lvi);
 }
 
 static VOID
@@ -417,12 +425,12 @@ OnEnvironmentEditDlgResize(HWND hwndDlg,
 
     if ((cx == DlgData->cxOld) && (cy == DlgData->cyOld))
         return;
-    
+
     if (DlgData->dwDlgID == IDD_EDIT_VARIABLE)
     {
         hdwp = BeginDeferWindowPos(5);
-            
-        /* For edit control */ 
+
+        /* For edit control */
         hItemWnd = GetDlgItem(hwndDlg, IDC_VARIABLE_NAME);
         GetWindowRect(hItemWnd, &rect);
         MapWindowPoints(HWND_DESKTOP, hwndDlg, (LPPOINT)&rect, 
sizeof(RECT)/sizeof(POINT));
@@ -947,7 +955,7 @@ EditVariableDlgProc(HWND hwndDlg,
 
                     LoadString(hApplet, IDS_ENVIRONMENT_WARNING, szStr, 
_countof(szStr));
                     LoadString(hApplet, IDS_ENVIRONMENT_WARNING_TITLE, szStr2, 
_countof(szStr2));
-                    
+
                     if (MessageBox(hwndDlg,
                                    szStr,
                                    szStr2,
@@ -959,7 +967,7 @@ EditVariableDlgProc(HWND hwndDlg,
                 }
 
                 case IDC_BUTTON_NEW:
-                {                    
+                {
                     DlgData->dwSelectedValueIndex = 
ListView_GetItemCount(hwndListView);
                     AddEmptyItem(hwndListView, DlgData->dwSelectedValueIndex);
                     ListView_EditLabel(hwndListView, 
DlgData->dwSelectedValueIndex);
@@ -1243,10 +1251,10 @@ OnEditVariable(HWND hwndDlg,
     DlgData = GlobalAlloc(GPTR, sizeof(EDIT_DIALOG_DATA));
     if (!DlgData)
         return;
-    
+
     DlgData->dwDlgID = IDD_EDIT_VARIABLE;
     DlgData->dwSelectedValueIndex = -1;
-    
+
     hwndListView = GetDlgItem(hwndDlg, iDlgItem);
 
     iItem = GetSelectedListViewItem(hwndListView);
@@ -1280,7 +1288,7 @@ OnEditVariable(HWND hwndDlg,
                                       EditVariableDlgProc,
                                       (LPARAM)DlgData);
             }
-            
+
             if (iRet > 0)
             {
                 ListView_SetItemText(hwndListView, iItem, 0, 
DlgData->VarData->lpName);
@@ -1342,6 +1350,238 @@ OnDeleteVariable(HWND hwndDlg,
     }
 }
 
+static VOID
+OnEnvironmentDlgResize(HWND hwndDlg,
+                       PENVIRONMENT_DIALOG_DATA DlgData,
+                       DWORD cx,
+                       DWORD cy)
+{
+    RECT rect;
+    INT Colx, y = 0;
+    HDWP hdwp = NULL;
+    HWND hItemWnd;
+
+    if ((cx == DlgData->cxOld) && (cy == DlgData->cyOld))
+        return;
+
+    hdwp = BeginDeferWindowPos(13);
+
+    if (cy >= DlgData->cyOld)
+        y += (cy - DlgData->cyOld + 1) / 2;
+    else
+        y -= (DlgData->cyOld - cy + 1) / 2;
+
+    /* For group box control */
+    hItemWnd = GetDlgItem(hwndDlg, IDC_USER_VARIABLE_GROUP);
+    GetWindowRect(hItemWnd, &rect);
+    MapWindowPoints(HWND_DESKTOP, hwndDlg, (LPPOINT)&rect, 
sizeof(RECT)/sizeof(POINT));
+
+    if (hdwp)
+    {
+        hdwp = DeferWindowPos(hdwp,
+                              hItemWnd,
+                              0,
+                              rect.left, rect.top,
+                              (rect.right - rect.left) + (cx - DlgData->cxOld),
+                              (rect.bottom - rect.top) + y,
+                              SWP_NOZORDER | SWP_NOACTIVATE);
+    }
+
+    hItemWnd = GetDlgItem(hwndDlg, IDC_SYSTEM_VARIABLE_GROUP);
+    GetWindowRect(hItemWnd, &rect);
+    MapWindowPoints(HWND_DESKTOP, hwndDlg, (LPPOINT)&rect, 
sizeof(RECT)/sizeof(POINT));
+
+    if (hdwp)
+    {
+        hdwp = DeferWindowPos(hdwp,
+                              hItemWnd,
+                              0,
+                              rect.left, rect.top + y,
+                              (rect.right - rect.left) + (cx - DlgData->cxOld),
+                              (rect.bottom - rect.top) + y,
+                              SWP_NOZORDER | SWP_NOACTIVATE);
+    }
+
+    /* For list view control */
+    hItemWnd = GetDlgItem(hwndDlg, IDC_USER_VARIABLE_LIST);
+    GetWindowRect(hItemWnd, &rect);
+    MapWindowPoints(HWND_DESKTOP, hwndDlg, (LPPOINT)&rect, 
sizeof(RECT)/sizeof(POINT));
+
+    if (hdwp)
+    {
+        hdwp = DeferWindowPos(hdwp,
+                              hItemWnd,
+                              0,
+                              rect.left, rect.top,
+                              (rect.right - rect.left) + (cx - DlgData->cxOld),
+                              (rect.bottom - rect.top) + y,
+                              SWP_NOZORDER | SWP_NOACTIVATE);
+        Colx = ListView_GetColumnWidth(hItemWnd, 1);
+        ListView_SetColumnWidth(hItemWnd, 1, Colx + (cx - DlgData->cxOld));
+    }
+
+    hItemWnd = GetDlgItem(hwndDlg, IDC_SYSTEM_VARIABLE_LIST);
+    GetWindowRect(hItemWnd, &rect);
+    MapWindowPoints(HWND_DESKTOP, hwndDlg, (LPPOINT)&rect, 
sizeof(RECT)/sizeof(POINT));
+
+    if (hdwp)
+    {
+        hdwp = DeferWindowPos(hdwp,
+                              hItemWnd,
+                              0,
+                              rect.left, rect.top + y,
+                              (rect.right - rect.left) + (cx - DlgData->cxOld),
+                              (rect.bottom - rect.top) + y,
+                              SWP_NOZORDER | SWP_NOACTIVATE);
+        Colx = ListView_GetColumnWidth(hItemWnd, 1);
+        ListView_SetColumnWidth(hItemWnd, 1, Colx + (cx - DlgData->cxOld));
+    }
+
+    /* For the buttons */
+    hItemWnd = GetDlgItem(hwndDlg, IDC_USER_VARIABLE_NEW);
+    GetWindowRect(hItemWnd, &rect);
+    MapWindowPoints(HWND_DESKTOP, hwndDlg, (LPPOINT)&rect, 
sizeof(RECT)/sizeof(POINT));
+
+    if (hdwp)
+    {
+        hdwp = DeferWindowPos(hdwp,
+                              hItemWnd,
+                              0,
+                              rect.left + (cx - DlgData->cxOld),
+                              rect.top + y,
+                              0, 0,
+                              SWP_NOSIZE | SWP_NOZORDER | SWP_NOACTIVATE);
+    }
+
+    hItemWnd = GetDlgItem(hwndDlg, IDC_USER_VARIABLE_EDIT);
+    GetWindowRect(hItemWnd, &rect);
+    MapWindowPoints(HWND_DESKTOP, hwndDlg, (LPPOINT)&rect, 
sizeof(RECT)/sizeof(POINT));
+
+    if (hdwp)
+    {
+        hdwp = DeferWindowPos(hdwp,
+                              hItemWnd,
+                              0,
+                              rect.left + (cx - DlgData->cxOld),
+                              rect.top + y,
+                              0, 0,
+                              SWP_NOSIZE | SWP_NOZORDER | SWP_NOACTIVATE);
+    }
+
+    hItemWnd = GetDlgItem(hwndDlg, IDC_USER_VARIABLE_DELETE);
+    GetWindowRect(hItemWnd, &rect);
+    MapWindowPoints(HWND_DESKTOP, hwndDlg, (LPPOINT)&rect, 
sizeof(RECT)/sizeof(POINT));
+
+    if (hdwp)
+    {
+        hdwp = DeferWindowPos(hdwp,
+                              hItemWnd,
+                              0,
+                              rect.left + (cx - DlgData->cxOld),
+                              rect.top + y,
+                              0, 0,
+                              SWP_NOSIZE | SWP_NOZORDER | SWP_NOACTIVATE);
+    }
+
+    hItemWnd = GetDlgItem(hwndDlg, IDC_SYSTEM_VARIABLE_NEW);
+    GetWindowRect(hItemWnd, &rect);
+    MapWindowPoints(HWND_DESKTOP, hwndDlg, (LPPOINT)&rect, 
sizeof(RECT)/sizeof(POINT));
+
+    if (hdwp)
+    {
+        hdwp = DeferWindowPos(hdwp,
+                              hItemWnd,
+                              0,
+                              rect.left + (cx - DlgData->cxOld),
+                              rect.top + y * 2,
+                              0, 0,
+                              SWP_NOSIZE | SWP_NOZORDER | SWP_NOACTIVATE);
+    }
+
+    hItemWnd = GetDlgItem(hwndDlg, IDC_SYSTEM_VARIABLE_EDIT);
+    GetWindowRect(hItemWnd, &rect);
+    MapWindowPoints(HWND_DESKTOP, hwndDlg, (LPPOINT)&rect, 
sizeof(RECT)/sizeof(POINT));
+
+    if (hdwp)
+    {
+        hdwp = DeferWindowPos(hdwp,
+                              hItemWnd,
+                              0,
+                              rect.left + (cx - DlgData->cxOld),
+                              rect.top + y * 2,
+                              0, 0,
+                              SWP_NOSIZE | SWP_NOZORDER | SWP_NOACTIVATE);
+    }
+
+    hItemWnd = GetDlgItem(hwndDlg, IDC_SYSTEM_VARIABLE_DELETE);
+    GetWindowRect(hItemWnd, &rect);
+    MapWindowPoints(HWND_DESKTOP, hwndDlg, (LPPOINT)&rect, 
sizeof(RECT)/sizeof(POINT));
+
+    if (hdwp)
+    {
+        hdwp = DeferWindowPos(hdwp,
+                              hItemWnd,
+                              0,
+                              rect.left + (cx - DlgData->cxOld),
+                              rect.top + y * 2,
+                              0, 0,
+                              SWP_NOSIZE | SWP_NOZORDER | SWP_NOACTIVATE);
+    }
+
+    hItemWnd = GetDlgItem(hwndDlg, IDOK);
+    GetWindowRect(hItemWnd, &rect);
+    MapWindowPoints(HWND_DESKTOP, hwndDlg, (LPPOINT)&rect, 
sizeof(RECT)/sizeof(POINT));
+
+    if (hdwp)
+    {
+        hdwp = DeferWindowPos(hdwp,
+                              hItemWnd,
+                              0,
+                              rect.left + (cx - DlgData->cxOld),
+                              rect.top + (cy - DlgData->cyOld * 2),
+                              0, 0,
+                              SWP_NOSIZE | SWP_NOZORDER | SWP_NOACTIVATE);
+    }
+
+    hItemWnd = GetDlgItem(hwndDlg, IDCANCEL);
+    GetWindowRect(hItemWnd, &rect);
+    MapWindowPoints(HWND_DESKTOP, hwndDlg, (LPPOINT)&rect, 
sizeof(RECT)/sizeof(POINT));
+
+    if (hdwp)
+    {
+        hdwp = DeferWindowPos(hdwp,
+                              hItemWnd,
+                              0,
+                              rect.left + (cx - DlgData->cxOld),
+                              rect.top + y * 2,
+                              0, 0,
+                              SWP_NOSIZE | SWP_NOZORDER | SWP_NOACTIVATE);
+    }
+
+    /* For the size grip */
+    hItemWnd = GetDlgItem(hwndDlg, IDC_DIALOG_GRIP);
+    GetWindowRect(hItemWnd, &rect);
+    MapWindowPoints(HWND_DESKTOP, hwndDlg, (LPPOINT)&rect, 
sizeof(RECT)/sizeof(POINT));
+
+    if (hdwp)
+    {
+        hdwp = DeferWindowPos(hdwp,
+                              hItemWnd,
+                              0,
+                              rect.left + (cx - DlgData->cxOld),
+                              rect.top + (cy - DlgData->cyOld),
+                              0, 0,
+                              SWP_NOSIZE | SWP_NOZORDER | SWP_NOACTIVATE);
+    }
+
+    if (hdwp)
+    {
+        EndDeferWindowPos(hdwp);
+    }
+
+    DlgData->cxOld = cx;
+    DlgData->cyOld = cy;
+}
 
 static VOID
 ReleaseListViewItems(HWND hwndDlg,
@@ -1557,11 +1797,53 @@ EnvironmentDlgProc(HWND hwndDlg,
                    WPARAM wParam,
                    LPARAM lParam)
 {
+    PENVIRONMENT_DIALOG_DATA DlgData;
+    DlgData = (PENVIRONMENT_DIALOG_DATA)GetWindowLongPtr(hwndDlg, 
GWLP_USERDATA);
+
     switch (uMsg)
     {
         case WM_INITDIALOG:
+        {
+            RECT rect;
+
+            DlgData = GlobalAlloc(GPTR, sizeof(ENVIRONMENT_DIALOG_DATA));
+            if (!DlgData)
+            {
+                EndDialog(hwndDlg, 0);
+                return (INT_PTR)TRUE;
+            }
+            SetWindowLongPtr(hwndDlg, GWLP_USERDATA, (LONG_PTR)DlgData);
+
+            GetClientRect(hwndDlg, &rect);
+            DlgData->cxOld = rect.right - rect.left;
+            DlgData->cyOld = rect.bottom - rect.top;
+
+            GetWindowRect(hwndDlg, &rect);
+            DlgData->cxMin = rect.right - rect.left;
+            DlgData->cyMin = rect.bottom - rect.top;
+
             OnInitEnvironmentDialog(hwndDlg);
             break;
+        }
+
+        case WM_SIZE:
+        {
+            OnEnvironmentDlgResize(hwndDlg, DlgData, LOWORD(lParam), 
HIWORD(lParam));
+            break;
+        }
+
+        case WM_SIZING:
+        {
+            LPRECT pRect = (LPRECT)lParam;
+
+            if (pRect->right - pRect->left < DlgData->cxMin)
+                pRect->right = pRect->left + DlgData->cxMin;
+
+            if (pRect->bottom - pRect->top < DlgData->cyMin)
+                pRect->bottom = pRect->top + DlgData->cyMin;
+
+            return TRUE;
+        }
 
         case WM_COMMAND:
             switch (LOWORD(wParam))
@@ -1607,6 +1889,7 @@ EnvironmentDlgProc(HWND hwndDlg,
         case WM_DESTROY:
             ReleaseListViewItems(hwndDlg, IDC_USER_VARIABLE_LIST);
             ReleaseListViewItems(hwndDlg, IDC_SYSTEM_VARIABLE_LIST);
+            GlobalFree(DlgData);
             break;
 
         case WM_NOTIFY:
diff --git a/dll/cpl/sysdm/lang/bg-BG.rc b/dll/cpl/sysdm/lang/bg-BG.rc
index 39d2ecbcdfe..522d7e41b26 100644
--- a/dll/cpl/sysdm/lang/bg-BG.rc
+++ b/dll/cpl/sysdm/lang/bg-BG.rc
@@ -258,17 +258,18 @@ BEGIN
 END
 
 IDD_ENVIRONMENT_VARIABLES DIALOGEX 6, 18, 252, 245
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | 
WS_CAPTION | WS_SYSMENU
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION | 
WS_VISIBLE | WS_THICKFRAME
 CAPTION "Променливи на средата"
 FONT 8, "MS Shell Dlg", 0, 0, 0x0
 BEGIN
-    GROUPBOX "Потребителски променливи", IDC_STATIC, 7, 12, 238, 100
+    SCROLLBAR IDC_DIALOG_GRIP, 245, 238, 7, 7, SBS_SIZEGRIP
+    GROUPBOX "Потребителски променливи", IDC_USER_VARIABLE_GROUP, 7, 12, 238, 
100
     CONTROL "", IDC_USER_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 25, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "&Нов...", IDC_USER_VARIABLE_NEW, 80, 90, 50, 14
     PUSHBUTTON "&Обработка...", IDC_USER_VARIABLE_EDIT, 134, 90, 50, 14
     PUSHBUTTON "Из&триване", IDC_USER_VARIABLE_DELETE, 188, 90, 50, 14
-    GROUPBOX "Променливи на системата", IDC_STATIC, 7, 116, 238, 100
+    GROUPBOX "Променливи на системата", IDC_SYSTEM_VARIABLE_GROUP, 7, 116, 
238, 100
     CONTROL "", IDC_SYSTEM_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 129, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "Но&в...", IDC_SYSTEM_VARIABLE_NEW, 80, 194, 50, 14
diff --git a/dll/cpl/sysdm/lang/cs-CZ.rc b/dll/cpl/sysdm/lang/cs-CZ.rc
index 4c119804071..ee89498508c 100644
--- a/dll/cpl/sysdm/lang/cs-CZ.rc
+++ b/dll/cpl/sysdm/lang/cs-CZ.rc
@@ -263,17 +263,18 @@ BEGIN
 END
 
 IDD_ENVIRONMENT_VARIABLES DIALOGEX 6, 18, 252, 245
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | 
WS_CAPTION | WS_SYSMENU
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION | 
WS_VISIBLE | WS_THICKFRAME
 CAPTION "Proměnné prostředí"
 FONT 8, "MS Shell Dlg", 0, 0, 0x0
 BEGIN
-    GROUPBOX "Uživatelské proměnné", IDC_STATIC, 7, 12, 238, 100
+    SCROLLBAR IDC_DIALOG_GRIP, 245, 238, 7, 7, SBS_SIZEGRIP
+    GROUPBOX "Uživatelské proměnné", IDC_USER_VARIABLE_GROUP, 7, 12, 238, 100
     CONTROL "", IDC_USER_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 25, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "&Nová...", IDC_USER_VARIABLE_NEW, 80, 90, 50, 14
     PUSHBUTTON "&Upravit...", IDC_USER_VARIABLE_EDIT, 134, 90, 50, 14
     PUSHBUTTON "&Odstranit", IDC_USER_VARIABLE_DELETE, 188, 90, 50, 14
-    GROUPBOX "Systémové proměnné", IDC_STATIC, 7, 116, 238, 100
+    GROUPBOX "Systémové proměnné", IDC_SYSTEM_VARIABLE_GROUP, 7, 116, 238, 100
     CONTROL "", IDC_SYSTEM_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 129, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "No&vá...", IDC_SYSTEM_VARIABLE_NEW, 80, 194, 50, 14
diff --git a/dll/cpl/sysdm/lang/da-DK.rc b/dll/cpl/sysdm/lang/da-DK.rc
index bd3bf415d88..668574b9516 100644
--- a/dll/cpl/sysdm/lang/da-DK.rc
+++ b/dll/cpl/sysdm/lang/da-DK.rc
@@ -258,17 +258,18 @@ BEGIN
 END
 
 IDD_ENVIRONMENT_VARIABLES DIALOGEX 6, 18, 252, 245
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | 
WS_CAPTION | WS_SYSMENU
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION | 
WS_VISIBLE | WS_THICKFRAME
 CAPTION "Miljø Variabler"
 FONT 8, "MS Shell Dlg", 0, 0, 0x0
 BEGIN
-    GROUPBOX "Brugere Variabler", IDC_STATIC, 7, 12, 238, 100
+    SCROLLBAR IDC_DIALOG_GRIP, 245, 238, 7, 7, SBS_SIZEGRIP
+    GROUPBOX "Brugere Variabler", IDC_USER_VARIABLE_GROUP, 7, 12, 238, 100
     CONTROL "", IDC_USER_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 25, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "&Ny...", IDC_USER_VARIABLE_NEW, 80, 90, 50, 14
     PUSHBUTTON "&Redigere...", IDC_USER_VARIABLE_EDIT, 134, 90, 50, 14
     PUSHBUTTON "&Slet", IDC_USER_VARIABLE_DELETE, 188, 90, 50, 14
-    GROUPBOX "System Variabler", IDC_STATIC, 7, 116, 238, 100
+    GROUPBOX "System Variabler", IDC_SYSTEM_VARIABLE_GROUP, 7, 116, 238, 100
     CONTROL "", IDC_SYSTEM_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 129, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "N&y...", IDC_SYSTEM_VARIABLE_NEW, 80, 194, 50, 14
diff --git a/dll/cpl/sysdm/lang/de-DE.rc b/dll/cpl/sysdm/lang/de-DE.rc
index b8aff646b38..48cfbb39f3d 100644
--- a/dll/cpl/sysdm/lang/de-DE.rc
+++ b/dll/cpl/sysdm/lang/de-DE.rc
@@ -267,17 +267,18 @@ BEGIN
 END
 
 IDD_ENVIRONMENT_VARIABLES DIALOGEX 6, 18, 252, 245
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | 
WS_CAPTION | WS_SYSMENU
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION | 
WS_VISIBLE | WS_THICKFRAME
 CAPTION "Umgebungsvariablen"
 FONT 8, "MS Shell Dlg", 0, 0, 0x0
 BEGIN
-    GROUPBOX "Benutzerdefinierte Variablen", IDC_STATIC, 7, 12, 238, 100
+    SCROLLBAR IDC_DIALOG_GRIP, 245, 238, 7, 7, SBS_SIZEGRIP
+    GROUPBOX "Benutzerdefinierte Variablen", IDC_USER_VARIABLE_GROUP, 7, 12, 
238, 100
     CONTROL "", IDC_USER_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 25, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "&Neu...", IDC_USER_VARIABLE_NEW, 80, 90, 50, 14
     PUSHBUTTON "Be&arbeiten...", IDC_USER_VARIABLE_EDIT, 134, 90, 50, 14
     PUSHBUTTON "&Löschen", IDC_USER_VARIABLE_DELETE, 188, 90, 50, 14
-    GROUPBOX "Systemvariablen", IDC_STATIC, 7, 116, 238, 100
+    GROUPBOX "Systemvariablen", IDC_SYSTEM_VARIABLE_GROUP, 7, 116, 238, 100
     CONTROL "", IDC_SYSTEM_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 129, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "N&eu...", IDC_SYSTEM_VARIABLE_NEW, 80, 194, 50, 14
diff --git a/dll/cpl/sysdm/lang/el-GR.rc b/dll/cpl/sysdm/lang/el-GR.rc
index 70d7896adce..7ead5542296 100644
--- a/dll/cpl/sysdm/lang/el-GR.rc
+++ b/dll/cpl/sysdm/lang/el-GR.rc
@@ -258,17 +258,18 @@ BEGIN
 END
 
 IDD_ENVIRONMENT_VARIABLES DIALOGEX 6, 18, 252, 245
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | 
WS_CAPTION | WS_SYSMENU
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION | 
WS_VISIBLE | WS_THICKFRAME
 CAPTION "Μεταβλητές περιβάλλοντος"
 FONT 8, "MS Shell Dlg", 0, 0, 0x0
 BEGIN
-    GROUPBOX "Μεταβλητές χρήστη", IDC_STATIC, 7, 12, 238, 100
+    SCROLLBAR IDC_DIALOG_GRIP, 245, 238, 7, 7, SBS_SIZEGRIP
+    GROUPBOX "Μεταβλητές χρήστη", IDC_USER_VARIABLE_GROUP, 7, 12, 238, 100
     CONTROL "", IDC_USER_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 25, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "&Δημιουργία...", IDC_USER_VARIABLE_NEW, 80, 90, 50, 14
     PUSHBUTTON "Επε&ξεργασία...", IDC_USER_VARIABLE_EDIT, 134, 90, 50, 14
     PUSHBUTTON "Διαγρα&φή", IDC_USER_VARIABLE_DELETE, 188, 90, 50, 14
-    GROUPBOX "&Μεταβλητές συστήματος", IDC_STATIC, 7, 116, 238, 100
+    GROUPBOX "&Μεταβλητές συστήματος", IDC_SYSTEM_VARIABLE_GROUP, 7, 116, 238, 
100
     CONTROL "", IDC_SYSTEM_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 129, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "Δ&ημιουργία...", IDC_SYSTEM_VARIABLE_NEW, 80, 194, 50, 14
diff --git a/dll/cpl/sysdm/lang/en-US.rc b/dll/cpl/sysdm/lang/en-US.rc
index 56d1f8739cb..5f2fde34b5a 100644
--- a/dll/cpl/sysdm/lang/en-US.rc
+++ b/dll/cpl/sysdm/lang/en-US.rc
@@ -258,17 +258,18 @@ BEGIN
 END
 
 IDD_ENVIRONMENT_VARIABLES DIALOGEX 6, 18, 252, 245
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | 
WS_CAPTION | WS_SYSMENU
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION | 
WS_VISIBLE | WS_THICKFRAME
 CAPTION "Environment Variables"
 FONT 8, "MS Shell Dlg", 0, 0, 0x0
 BEGIN
-    GROUPBOX "User variables", IDC_STATIC, 7, 12, 238, 100
+    SCROLLBAR IDC_DIALOG_GRIP, 245, 238, 7, 7, SBS_SIZEGRIP
+    GROUPBOX "User variables", IDC_USER_VARIABLE_GROUP, 7, 12, 238, 100
     CONTROL "", IDC_USER_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 25, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "&New...", IDC_USER_VARIABLE_NEW, 80, 90, 50, 14
     PUSHBUTTON "&Edit...", IDC_USER_VARIABLE_EDIT, 134, 90, 50, 14
     PUSHBUTTON "&Delete", IDC_USER_VARIABLE_DELETE, 188, 90, 50, 14
-    GROUPBOX "System variables", IDC_STATIC, 7, 116, 238, 100
+    GROUPBOX "System variables", IDC_SYSTEM_VARIABLE_GROUP, 7, 116, 238, 100
     CONTROL "", IDC_SYSTEM_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 129, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "Ne&w...", IDC_SYSTEM_VARIABLE_NEW, 80, 194, 50, 14
diff --git a/dll/cpl/sysdm/lang/es-ES.rc b/dll/cpl/sysdm/lang/es-ES.rc
index d31fccadc50..591d19719bc 100644
--- a/dll/cpl/sysdm/lang/es-ES.rc
+++ b/dll/cpl/sysdm/lang/es-ES.rc
@@ -260,17 +260,18 @@ BEGIN
 END
 
 IDD_ENVIRONMENT_VARIABLES DIALOGEX 6, 18, 252, 245
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | 
WS_CAPTION | WS_SYSMENU
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION | 
WS_VISIBLE | WS_THICKFRAME
 CAPTION "Variables de entorno"
 FONT 8, "MS Shell Dlg", 0, 0, 0x0
 BEGIN
-    GROUPBOX "Variables de usuario ", IDC_STATIC, 7, 12, 238, 100
+    SCROLLBAR IDC_DIALOG_GRIP, 245, 238, 7, 7, SBS_SIZEGRIP
+    GROUPBOX "Variables de usuario ", IDC_USER_VARIABLE_GROUP, 7, 12, 238, 100
     CONTROL "", IDC_USER_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 25, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "&Nueva...", IDC_USER_VARIABLE_NEW, 80, 90, 50, 14
     PUSHBUTTON "&Modificar...", IDC_USER_VARIABLE_EDIT, 134, 90, 50, 14
     PUSHBUTTON "E&liminar", IDC_USER_VARIABLE_DELETE, 188, 90, 50, 14
-    GROUPBOX "Variables del sistema ", IDC_STATIC, 7, 116, 238, 100
+    GROUPBOX "Variables del sistema ", IDC_SYSTEM_VARIABLE_GROUP, 7, 116, 238, 
100
     CONTROL "", IDC_SYSTEM_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 129, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "Nue&va...", IDC_SYSTEM_VARIABLE_NEW, 80, 194, 50, 14
diff --git a/dll/cpl/sysdm/lang/fr-FR.rc b/dll/cpl/sysdm/lang/fr-FR.rc
index 6246e3b270c..36d82604988 100644
--- a/dll/cpl/sysdm/lang/fr-FR.rc
+++ b/dll/cpl/sysdm/lang/fr-FR.rc
@@ -258,17 +258,18 @@ BEGIN
 END
 
 IDD_ENVIRONMENT_VARIABLES DIALOGEX 6, 18, 252, 245
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | 
WS_CAPTION | WS_SYSMENU
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION | 
WS_VISIBLE | WS_THICKFRAME
 CAPTION "Variables d'environnement"
 FONT 8, "MS Shell Dlg", 0, 0, 0x0
 BEGIN
-    GROUPBOX "Variables utilisateur", IDC_STATIC, 7, 12, 238, 100
+    SCROLLBAR IDC_DIALOG_GRIP, 245, 238, 7, 7, SBS_SIZEGRIP
+    GROUPBOX "Variables utilisateur", IDC_USER_VARIABLE_GROUP, 7, 12, 238, 100
     CONTROL "", IDC_USER_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 25, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "&Nouvelle...", IDC_USER_VARIABLE_NEW, 80, 90, 50, 14
     PUSHBUTTON "&Éditer...", IDC_USER_VARIABLE_EDIT, 134, 90, 50, 14
     PUSHBUTTON "&Supprimer", IDC_USER_VARIABLE_DELETE, 188, 90, 50, 14
-    GROUPBOX "Variables système", IDC_STATIC, 7, 116, 238, 100
+    GROUPBOX "Variables système", IDC_SYSTEM_VARIABLE_GROUP, 7, 116, 238, 100
     CONTROL "", IDC_SYSTEM_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 129, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "Nou&velle...", IDC_SYSTEM_VARIABLE_NEW, 80, 194, 50, 14
diff --git a/dll/cpl/sysdm/lang/he-IL.rc b/dll/cpl/sysdm/lang/he-IL.rc
index 622f65914aa..d0b9da93242 100644
--- a/dll/cpl/sysdm/lang/he-IL.rc
+++ b/dll/cpl/sysdm/lang/he-IL.rc
@@ -260,17 +260,18 @@ BEGIN
 END
 
 IDD_ENVIRONMENT_VARIABLES DIALOGEX 6, 18, 252, 245
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | 
WS_CAPTION | WS_SYSMENU
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION | 
WS_VISIBLE | WS_THICKFRAME
 CAPTION "משתני סביבה"
 FONT 8, "MS Shell Dlg", 0, 0, 0x0
 BEGIN
-    GROUPBOX "משתני משתמש", IDC_STATIC, 7, 12, 238, 100
+    SCROLLBAR IDC_DIALOG_GRIP, 245, 238, 7, 7, SBS_SIZEGRIP
+    GROUPBOX "משתני משתמש", IDC_USER_VARIABLE_GROUP, 7, 12, 238, 100
     CONTROL "", IDC_USER_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 25, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "חדש...", IDC_USER_VARIABLE_NEW, 80, 90, 50, 14
     PUSHBUTTON "עריכה...", IDC_USER_VARIABLE_EDIT, 134, 90, 50, 14
     PUSHBUTTON "מחק", IDC_USER_VARIABLE_DELETE, 188, 90, 50, 14
-    GROUPBOX "משתני מערכת", IDC_STATIC, 7, 116, 238, 100
+    GROUPBOX "משתני מערכת", IDC_SYSTEM_VARIABLE_GROUP, 7, 116, 238, 100
     CONTROL "", IDC_SYSTEM_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 129, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "חדש...", IDC_SYSTEM_VARIABLE_NEW, 80, 194, 50, 14
diff --git a/dll/cpl/sysdm/lang/hu-HU.rc b/dll/cpl/sysdm/lang/hu-HU.rc
index b1e8ce6692e..fb652b06cdc 100644
--- a/dll/cpl/sysdm/lang/hu-HU.rc
+++ b/dll/cpl/sysdm/lang/hu-HU.rc
@@ -260,17 +260,18 @@ BEGIN
 END
 
 IDD_ENVIRONMENT_VARIABLES DIALOGEX 6, 18, 252, 245
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | 
WS_CAPTION | WS_SYSMENU
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION | 
WS_VISIBLE | WS_THICKFRAME
 CAPTION "Környezeti változók"
 FONT 8, "MS Shell Dlg", 0, 0, 0x0
 BEGIN
-    GROUPBOX "Felhasználói változók", IDC_STATIC, 7, 12, 238, 100
+    SCROLLBAR IDC_DIALOG_GRIP, 245, 238, 7, 7, SBS_SIZEGRIP
+    GROUPBOX "Felhasználói változók", IDC_USER_VARIABLE_GROUP, 7, 12, 238, 100
     CONTROL "", IDC_USER_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 25, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "&Új...", IDC_USER_VARIABLE_NEW, 80, 90, 50, 14
     PUSHBUTTON "&Szerkesztés", IDC_USER_VARIABLE_EDIT, 134, 90, 50, 14
     PUSHBUTTON "&Törlés", IDC_USER_VARIABLE_DELETE, 188, 90, 50, 14
-    GROUPBOX "Rendszerváltozók", IDC_STATIC, 7, 116, 238, 100
+    GROUPBOX "Rendszerváltozók", IDC_SYSTEM_VARIABLE_GROUP, 7, 116, 238, 100
     CONTROL "", IDC_SYSTEM_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 129, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "Ú&j...", IDC_SYSTEM_VARIABLE_NEW, 80, 194, 50, 14
diff --git a/dll/cpl/sysdm/lang/id-ID.rc b/dll/cpl/sysdm/lang/id-ID.rc
index 407d422ee82..c779f954f55 100644
--- a/dll/cpl/sysdm/lang/id-ID.rc
+++ b/dll/cpl/sysdm/lang/id-ID.rc
@@ -258,17 +258,18 @@ BEGIN
 END
 
 IDD_ENVIRONMENT_VARIABLES DIALOGEX 6, 18, 252, 245
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | 
WS_CAPTION | WS_SYSMENU
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION | 
WS_VISIBLE | WS_THICKFRAME
 CAPTION "Variabel Lingkungan"
 FONT 8, "MS Shell Dlg", 0, 0, 0x0
 BEGIN
-    GROUPBOX "Variabel Pengguna", IDC_STATIC, 7, 12, 238, 100
+    SCROLLBAR IDC_DIALOG_GRIP, 245, 238, 7, 7, SBS_SIZEGRIP
+    GROUPBOX "Variabel Pengguna", IDC_USER_VARIABLE_GROUP, 7, 12, 238, 100
     CONTROL "", IDC_USER_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 25, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "&Baru...", IDC_USER_VARIABLE_NEW, 80, 90, 50, 14
     PUSHBUTTON "&Edit...", IDC_USER_VARIABLE_EDIT, 134, 90, 50, 14
     PUSHBUTTON "&Hapus", IDC_USER_VARIABLE_DELETE, 188, 90, 50, 14
-    GROUPBOX "Variabel sistem", IDC_STATIC, 7, 116, 238, 100
+    GROUPBOX "Variabel sistem", IDC_SYSTEM_VARIABLE_GROUP, 7, 116, 238, 100
     CONTROL "", IDC_SYSTEM_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 129, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "&Baru...", IDC_SYSTEM_VARIABLE_NEW, 80, 194, 50, 14
diff --git a/dll/cpl/sysdm/lang/it-IT.rc b/dll/cpl/sysdm/lang/it-IT.rc
index 88eb47de85d..59602adefde 100644
--- a/dll/cpl/sysdm/lang/it-IT.rc
+++ b/dll/cpl/sysdm/lang/it-IT.rc
@@ -258,17 +258,18 @@ BEGIN
 END
 
 IDD_ENVIRONMENT_VARIABLES DIALOGEX 6, 18, 252, 245
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | 
WS_CAPTION | WS_SYSMENU
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION | 
WS_VISIBLE | WS_THICKFRAME
 CAPTION "Variabili di ambiente"
 FONT 8, "MS Shell Dlg", 0, 0, 0x0
 BEGIN
-    GROUPBOX "Variabili utente", IDC_STATIC, 7, 12, 238, 100
+    SCROLLBAR IDC_DIALOG_GRIP, 245, 238, 7, 7, SBS_SIZEGRIP
+    GROUPBOX "Variabili utente", IDC_USER_VARIABLE_GROUP, 7, 12, 238, 100
     CONTROL "", IDC_USER_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 25, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "&Nuova...", IDC_USER_VARIABLE_NEW, 80, 90, 50, 14
     PUSHBUTTON "&Modifica...", IDC_USER_VARIABLE_EDIT, 134, 90, 50, 14
     PUSHBUTTON "&Cancella", IDC_USER_VARIABLE_DELETE, 188, 90, 50, 14
-    GROUPBOX "Variabili di sistema", IDC_STATIC, 7, 116, 238, 100
+    GROUPBOX "Variabili di sistema", IDC_SYSTEM_VARIABLE_GROUP, 7, 116, 238, 
100
     CONTROL "", IDC_SYSTEM_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 129, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "N&uova...", IDC_SYSTEM_VARIABLE_NEW, 80, 194, 50, 14
diff --git a/dll/cpl/sysdm/lang/ja-JP.rc b/dll/cpl/sysdm/lang/ja-JP.rc
index 13dffad6000..4fcfb0133f7 100644
--- a/dll/cpl/sysdm/lang/ja-JP.rc
+++ b/dll/cpl/sysdm/lang/ja-JP.rc
@@ -258,17 +258,18 @@ BEGIN
 END
 
 IDD_ENVIRONMENT_VARIABLES DIALOGEX 6, 18, 252, 245
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | 
WS_CAPTION | WS_SYSMENU
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION | 
WS_VISIBLE | WS_THICKFRAME
 CAPTION "環境変数"
 FONT 9, "MS UI Gothic", 0, 0, 0x0
 BEGIN
-    GROUPBOX "ユーザ変数", IDC_STATIC, 7, 12, 238, 100
+    SCROLLBAR IDC_DIALOG_GRIP, 245, 238, 7, 7, SBS_SIZEGRIP
+    GROUPBOX "ユーザ変数", IDC_USER_VARIABLE_GROUP, 7, 12, 238, 100
     CONTROL "", IDC_USER_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 25, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "新規(&N)...", IDC_USER_VARIABLE_NEW, 80, 90, 50, 14
     PUSHBUTTON "編集(&E)...", IDC_USER_VARIABLE_EDIT, 134, 90, 50, 14
     PUSHBUTTON "削除(&D)", IDC_USER_VARIABLE_DELETE, 188, 90, 50, 14
-    GROUPBOX "システム変数", IDC_STATIC, 7, 116, 238, 100
+    GROUPBOX "システム変数", IDC_SYSTEM_VARIABLE_GROUP, 7, 116, 238, 100
     CONTROL "", IDC_SYSTEM_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 129, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "新規(&W)...", IDC_SYSTEM_VARIABLE_NEW, 80, 194, 50, 14
diff --git a/dll/cpl/sysdm/lang/nl-NL.rc b/dll/cpl/sysdm/lang/nl-NL.rc
index f72ba8a7cbf..46c1b337ed4 100644
--- a/dll/cpl/sysdm/lang/nl-NL.rc
+++ b/dll/cpl/sysdm/lang/nl-NL.rc
@@ -258,17 +258,18 @@ BEGIN
 END
 
 IDD_ENVIRONMENT_VARIABLES DIALOGEX 6, 18, 252, 245
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | 
WS_CAPTION | WS_SYSMENU
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION | 
WS_VISIBLE | WS_THICKFRAME
 CAPTION "Omgevingsvariabelen"
 FONT 8, "MS Shell Dlg", 0, 0, 0x0
 BEGIN
-    GROUPBOX "Gebruikersvariabelen", IDC_STATIC, 7, 12, 238, 100
+    SCROLLBAR IDC_DIALOG_GRIP, 245, 238, 7, 7, SBS_SIZEGRIP
+    GROUPBOX "Gebruikersvariabelen", IDC_USER_VARIABLE_GROUP, 7, 12, 238, 100
     CONTROL "", IDC_USER_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 25, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "&Nieuw...", IDC_USER_VARIABLE_NEW, 80, 90, 50, 14
     PUSHBUTTON "&Bewerken...", IDC_USER_VARIABLE_EDIT, 134, 90, 50, 14
     PUSHBUTTON "&Verwijderen", IDC_USER_VARIABLE_DELETE, 188, 90, 50, 14
-    GROUPBOX "Systeemvariabelen", IDC_STATIC, 7, 116, 238, 100
+    GROUPBOX "Systeemvariabelen", IDC_SYSTEM_VARIABLE_GROUP, 7, 116, 238, 100
     CONTROL "", IDC_SYSTEM_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 129, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "N&ieuw...", IDC_SYSTEM_VARIABLE_NEW, 80, 194, 50, 14
diff --git a/dll/cpl/sysdm/lang/no-NO.rc b/dll/cpl/sysdm/lang/no-NO.rc
index 4441431cd16..58e718c4acd 100644
--- a/dll/cpl/sysdm/lang/no-NO.rc
+++ b/dll/cpl/sysdm/lang/no-NO.rc
@@ -258,17 +258,18 @@ BEGIN
 END
 
 IDD_ENVIRONMENT_VARIABLES DIALOGEX 6, 18, 252, 245
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | 
WS_CAPTION | WS_SYSMENU
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION | 
WS_VISIBLE | WS_THICKFRAME
 CAPTION "Miljøvariabel"
 FONT 8, "MS Shell Dlg", 0, 0, 0x0
 BEGIN
-    GROUPBOX "Brukervariabeler", IDC_STATIC, 7, 12, 238, 100
+    SCROLLBAR IDC_DIALOG_GRIP, 245, 238, 7, 7, SBS_SIZEGRIP
+    GROUPBOX "Brukervariabeler", IDC_USER_VARIABLE_GROUP, 7, 12, 238, 100
     CONTROL "", IDC_USER_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 25, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "&Ny...", IDC_USER_VARIABLE_NEW, 80, 90, 50, 14
     PUSHBUTTON "&Rediger...", IDC_USER_VARIABLE_EDIT, 134, 90, 50, 14
     PUSHBUTTON "&Slett", IDC_USER_VARIABLE_DELETE, 188, 90, 50, 14
-    GROUPBOX "System variabeler", IDC_STATIC, 7, 116, 238, 100
+    GROUPBOX "System variabeler", IDC_SYSTEM_VARIABLE_GROUP, 7, 116, 238, 100
     CONTROL "", IDC_SYSTEM_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 129, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "N&y...", IDC_SYSTEM_VARIABLE_NEW, 80, 194, 50, 14
diff --git a/dll/cpl/sysdm/lang/pl-PL.rc b/dll/cpl/sysdm/lang/pl-PL.rc
index 61d89d3691b..d16c97e1677 100644
--- a/dll/cpl/sysdm/lang/pl-PL.rc
+++ b/dll/cpl/sysdm/lang/pl-PL.rc
@@ -267,17 +267,18 @@ BEGIN
 END
 
 IDD_ENVIRONMENT_VARIABLES DIALOGEX 6, 18, 252, 245
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | 
WS_CAPTION | WS_SYSMENU
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION | 
WS_VISIBLE | WS_THICKFRAME
 CAPTION "Zmienne środowiskowe"
 FONT 8, "MS Shell Dlg", 0, 0, 0x0
 BEGIN
-    GROUPBOX "Zmienne użytkownika", IDC_STATIC, 7, 12, 238, 100
+    SCROLLBAR IDC_DIALOG_GRIP, 245, 238, 7, 7, SBS_SIZEGRIP
+    GROUPBOX "Zmienne użytkownika", IDC_USER_VARIABLE_GROUP, 7, 12, 238, 100
     CONTROL "", IDC_USER_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 25, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "&Nowa...", IDC_USER_VARIABLE_NEW, 80, 90, 50, 14
     PUSHBUTTON "&Edytuj...", IDC_USER_VARIABLE_EDIT, 134, 90, 50, 14
     PUSHBUTTON "&Usuń", IDC_USER_VARIABLE_DELETE, 188, 90, 50, 14
-    GROUPBOX "Zmienne systemowe", IDC_STATIC, 7, 116, 238, 100
+    GROUPBOX "Zmienne systemowe", IDC_SYSTEM_VARIABLE_GROUP, 7, 116, 238, 100
     CONTROL "", IDC_SYSTEM_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 129, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "N&owa...", IDC_SYSTEM_VARIABLE_NEW, 80, 194, 50, 14
diff --git a/dll/cpl/sysdm/lang/pt-PT.rc b/dll/cpl/sysdm/lang/pt-PT.rc
index 8689cc603c6..0bdde937170 100644
--- a/dll/cpl/sysdm/lang/pt-PT.rc
+++ b/dll/cpl/sysdm/lang/pt-PT.rc
@@ -262,17 +262,18 @@ BEGIN
 END
 
 IDD_ENVIRONMENT_VARIABLES DIALOGEX 6, 18, 252, 245
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | 
WS_CAPTION | WS_SYSMENU
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION | 
WS_VISIBLE | WS_THICKFRAME
 CAPTION "Variáveis de ambiente"
 FONT 8, "MS Shell Dlg", 0, 0, 0x0
 BEGIN
-    GROUPBOX "Variáveis do utilizador", IDC_STATIC, 7, 12, 238, 100
+    SCROLLBAR IDC_DIALOG_GRIP, 245, 238, 7, 7, SBS_SIZEGRIP
+    GROUPBOX "Variáveis do utilizador", IDC_USER_VARIABLE_GROUP, 7, 12, 238, 
100
     CONTROL "", IDC_USER_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 25, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "&Novo...", IDC_USER_VARIABLE_NEW, 80, 90, 50, 14
     PUSHBUTTON "&Editar...", IDC_USER_VARIABLE_EDIT, 134, 90, 50, 14
     PUSHBUTTON "E&liminar", IDC_USER_VARIABLE_DELETE, 188, 90, 50, 14
-    GROUPBOX "Variáveis do sistema", IDC_STATIC, 7, 116, 238, 100
+    GROUPBOX "Variáveis do sistema", IDC_SYSTEM_VARIABLE_GROUP, 7, 116, 238, 
100
     CONTROL "", IDC_SYSTEM_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 129, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "N&ovo...", IDC_SYSTEM_VARIABLE_NEW, 80, 194, 50, 14
diff --git a/dll/cpl/sysdm/lang/ro-RO.rc b/dll/cpl/sysdm/lang/ro-RO.rc
index f41b944947d..92eec198cb4 100644
--- a/dll/cpl/sysdm/lang/ro-RO.rc
+++ b/dll/cpl/sysdm/lang/ro-RO.rc
@@ -267,17 +267,18 @@ BEGIN
 END
 
 IDD_ENVIRONMENT_VARIABLES DIALOGEX 6, 18, 252, 245
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | 
WS_CAPTION | WS_SYSMENU
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION | 
WS_VISIBLE | WS_THICKFRAME
 CAPTION "Variabile de mediu"
 FONT 8, "MS Shell Dlg", 0, 0, 0x0
 BEGIN
-    GROUPBOX "Variable de cont utilizator", IDC_STATIC, 7, 12, 238, 100
+    SCROLLBAR IDC_DIALOG_GRIP, 245, 238, 7, 7, SBS_SIZEGRIP
+    GROUPBOX "Variable de cont utilizator", IDC_USER_VARIABLE_GROUP, 7, 12, 
238, 100
     CONTROL "", IDC_USER_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 25, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "N&ouă…", IDC_USER_VARIABLE_NEW, 80, 90, 50, 14
     PUSHBUTTON "E&ditare…", IDC_USER_VARIABLE_EDIT, 134, 90, 50, 14
     PUSHBUTTON "Șt&erge", IDC_USER_VARIABLE_DELETE, 188, 90, 50, 14
-    GROUPBOX "Variabile de sistem", IDC_STATIC, 7, 116, 238, 100
+    GROUPBOX "Variabile de sistem", IDC_SYSTEM_VARIABLE_GROUP, 7, 116, 238, 100
     CONTROL "", IDC_SYSTEM_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 129, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "No&uă…", IDC_SYSTEM_VARIABLE_NEW, 80, 194, 50, 14
diff --git a/dll/cpl/sysdm/lang/ru-RU.rc b/dll/cpl/sysdm/lang/ru-RU.rc
index 0a479808c4a..0336c9bab69 100644
--- a/dll/cpl/sysdm/lang/ru-RU.rc
+++ b/dll/cpl/sysdm/lang/ru-RU.rc
@@ -258,17 +258,18 @@ BEGIN
 END
 
 IDD_ENVIRONMENT_VARIABLES DIALOGEX 6, 18, 252, 245
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | 
WS_CAPTION | WS_SYSMENU
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION | 
WS_VISIBLE | WS_THICKFRAME
 CAPTION "Переменные среды"
 FONT 8, "MS Shell Dlg", 0, 0, 0x0
 BEGIN
-    GROUPBOX "Пользовательские переменные", IDC_STATIC, 7, 12, 238, 100
+    SCROLLBAR IDC_DIALOG_GRIP, 245, 238, 7, 7, SBS_SIZEGRIP
+    GROUPBOX "Пользовательские переменные", IDC_USER_VARIABLE_GROUP, 7, 12, 
238, 100
     CONTROL "", IDC_USER_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 25, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "&Создать...", IDC_USER_VARIABLE_NEW, 80, 90, 50, 14
     PUSHBUTTON "&Изменить...", IDC_USER_VARIABLE_EDIT, 134, 90, 50, 14
     PUSHBUTTON "&Удалить", IDC_USER_VARIABLE_DELETE, 188, 90, 50, 14
-    GROUPBOX "Системные переменные", IDC_STATIC, 7, 116, 238, 100
+    GROUPBOX "Системные переменные", IDC_SYSTEM_VARIABLE_GROUP, 7, 116, 238, 
100
     CONTROL "", IDC_SYSTEM_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 129, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "С&оздать...", IDC_SYSTEM_VARIABLE_NEW, 80, 194, 50, 14
diff --git a/dll/cpl/sysdm/lang/sk-SK.rc b/dll/cpl/sysdm/lang/sk-SK.rc
index e5d3d1ced4c..3bc920c389d 100644
--- a/dll/cpl/sysdm/lang/sk-SK.rc
+++ b/dll/cpl/sysdm/lang/sk-SK.rc
@@ -266,17 +266,18 @@ BEGIN
 END
 
 IDD_ENVIRONMENT_VARIABLES DIALOGEX 6, 18, 252, 245
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | 
WS_CAPTION | WS_SYSMENU
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION | 
WS_VISIBLE | WS_THICKFRAME
 CAPTION "Premenné prostredia"
 FONT 8, "MS Shell Dlg", 0, 0, 0x0
 BEGIN
-    GROUPBOX "&Používateľské premenné", IDC_STATIC, 7, 12, 238, 100
+    SCROLLBAR IDC_DIALOG_GRIP, 245, 238, 7, 7, SBS_SIZEGRIP
+    GROUPBOX "&Používateľské premenné", IDC_USER_VARIABLE_GROUP, 7, 12, 238, 
100
     CONTROL "", IDC_USER_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 25, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "&Nová...", IDC_USER_VARIABLE_NEW, 80, 90, 50, 14
     PUSHBUTTON "&Upraviť...", IDC_USER_VARIABLE_EDIT, 134, 90, 50, 14
     PUSHBUTTON "&Odstrániť", IDC_USER_VARIABLE_DELETE, 188, 90, 50, 14
-    GROUPBOX "&Systémové premenné", IDC_STATIC, 7, 116, 238, 100
+    GROUPBOX "&Systémové premenné", IDC_SYSTEM_VARIABLE_GROUP, 7, 116, 238, 100
     CONTROL "", IDC_SYSTEM_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 129, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "No&vá...", IDC_SYSTEM_VARIABLE_NEW, 80, 194, 50, 14
diff --git a/dll/cpl/sysdm/lang/sq-AL.rc b/dll/cpl/sysdm/lang/sq-AL.rc
index aff00d43626..958f6f506b3 100644
--- a/dll/cpl/sysdm/lang/sq-AL.rc
+++ b/dll/cpl/sysdm/lang/sq-AL.rc
@@ -258,17 +258,18 @@ BEGIN
 END
 
 IDD_ENVIRONMENT_VARIABLES DIALOGEX 6, 18, 252, 245
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | 
WS_CAPTION | WS_SYSMENU
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION | 
WS_VISIBLE | WS_THICKFRAME
 CAPTION "Variabël Mjedisi"
 FONT 8, "MS Shell Dlg", 0, 0, 0x0
 BEGIN
-    GROUPBOX "Variabël Përdoruesi", IDC_STATIC, 7, 12, 238, 100
+    SCROLLBAR IDC_DIALOG_GRIP, 245, 238, 7, 7, SBS_SIZEGRIP
+    GROUPBOX "Variabël Përdoruesi", IDC_USER_VARIABLE_GROUP, 7, 12, 238, 100
     CONTROL "", IDC_USER_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 25, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "&E're...", IDC_USER_VARIABLE_NEW, 80, 90, 50, 14
     PUSHBUTTON "&Modifiko...", IDC_USER_VARIABLE_EDIT, 134, 90, 50, 14
     PUSHBUTTON "&Fshi", IDC_USER_VARIABLE_DELETE, 188, 90, 50, 14
-    GROUPBOX "Variablë Sistemi", IDC_STATIC, 7, 116, 238, 100
+    GROUPBOX "Variablë Sistemi", IDC_SYSTEM_VARIABLE_GROUP, 7, 116, 238, 100
     CONTROL "", IDC_SYSTEM_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 129, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "E're...", IDC_SYSTEM_VARIABLE_NEW, 80, 194, 50, 14
diff --git a/dll/cpl/sysdm/lang/sv-SE.rc b/dll/cpl/sysdm/lang/sv-SE.rc
index 76331c99c91..2154dc098f0 100644
--- a/dll/cpl/sysdm/lang/sv-SE.rc
+++ b/dll/cpl/sysdm/lang/sv-SE.rc
@@ -260,17 +260,18 @@ BEGIN
 END
 
 IDD_ENVIRONMENT_VARIABLES DIALOGEX 6, 18, 252, 245
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | 
WS_CAPTION | WS_SYSMENU
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION | 
WS_VISIBLE | WS_THICKFRAME
 CAPTION "Miljövariabler"
 FONT 8, "MS Shell Dlg", 0, 0, 0x0
 BEGIN
-    GROUPBOX "Användarvariabler", IDC_STATIC, 7, 12, 238, 100
+    SCROLLBAR IDC_DIALOG_GRIP, 245, 238, 7, 7, SBS_SIZEGRIP
+    GROUPBOX "Användarvariabler", IDC_USER_VARIABLE_GROUP, 7, 12, 238, 100
     CONTROL "", IDC_USER_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 25, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "&Ny...", IDC_USER_VARIABLE_NEW, 80, 90, 50, 14
     PUSHBUTTON "&Redigera...", IDC_USER_VARIABLE_EDIT, 134, 90, 50, 14
     PUSHBUTTON "&Ta bort", IDC_USER_VARIABLE_DELETE, 188, 90, 50, 14
-    GROUPBOX "Systemvariabler", IDC_STATIC, 7, 116, 238, 100
+    GROUPBOX "Systemvariabler", IDC_SYSTEM_VARIABLE_GROUP, 7, 116, 238, 100
     CONTROL "", IDC_SYSTEM_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 129, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "N&y...", IDC_SYSTEM_VARIABLE_NEW, 80, 194, 50, 14
diff --git a/dll/cpl/sysdm/lang/tr-TR.rc b/dll/cpl/sysdm/lang/tr-TR.rc
index ba285d9ecb6..d939cbc6f49 100644
--- a/dll/cpl/sysdm/lang/tr-TR.rc
+++ b/dll/cpl/sysdm/lang/tr-TR.rc
@@ -260,17 +260,18 @@ BEGIN
 END
 
 IDD_ENVIRONMENT_VARIABLES DIALOGEX 6, 18, 252, 245
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | 
WS_CAPTION | WS_SYSMENU
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION | 
WS_VISIBLE | WS_THICKFRAME
 CAPTION "Ortam Değişkenleri"
 FONT 8, "MS Shell Dlg", 0, 0, 0x0
 BEGIN
-    GROUPBOX "Kullanıcı Değişkenleri", IDC_STATIC, 7, 12, 238, 100
+    SCROLLBAR IDC_DIALOG_GRIP, 245, 238, 7, 7, SBS_SIZEGRIP
+    GROUPBOX "Kullanıcı Değişkenleri", IDC_USER_VARIABLE_GROUP, 7, 12, 238, 100
     CONTROL "", IDC_USER_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 25, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "&Yeni...", IDC_USER_VARIABLE_NEW, 80, 90, 50, 14
     PUSHBUTTON "&Düzenle...", IDC_USER_VARIABLE_EDIT, 134, 90, 50, 14
     PUSHBUTTON "&Sil", IDC_USER_VARIABLE_DELETE, 188, 90, 50, 14
-    GROUPBOX "Sistem Değişkenleri", IDC_STATIC, 7, 116, 238, 100
+    GROUPBOX "Sistem Değişkenleri", IDC_SYSTEM_VARIABLE_GROUP, 7, 116, 238, 100
     CONTROL "", IDC_SYSTEM_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 129, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "Y&eni...", IDC_SYSTEM_VARIABLE_NEW, 80, 194, 50, 14
diff --git a/dll/cpl/sysdm/lang/uk-UA.rc b/dll/cpl/sysdm/lang/uk-UA.rc
index de6dd0c79f9..df6a8e9c1d4 100644
--- a/dll/cpl/sysdm/lang/uk-UA.rc
+++ b/dll/cpl/sysdm/lang/uk-UA.rc
@@ -266,17 +266,18 @@ BEGIN
 END
 
 IDD_ENVIRONMENT_VARIABLES DIALOGEX 6, 18, 252, 245
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | 
WS_CAPTION | WS_SYSMENU
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION | 
WS_VISIBLE | WS_THICKFRAME
 CAPTION "Змінні оточення"
 FONT 8, "MS Shell Dlg", 0, 0, 0x0
 BEGIN
-    GROUPBOX "Змінні користувача", IDC_STATIC, 7, 12, 238, 100
+    SCROLLBAR IDC_DIALOG_GRIP, 245, 238, 7, 7, SBS_SIZEGRIP
+    GROUPBOX "Змінні користувача", IDC_USER_VARIABLE_GROUP, 7, 12, 238, 100
     CONTROL "", IDC_USER_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 25, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "&Створити...", IDC_USER_VARIABLE_NEW, 80, 90, 50, 14
     PUSHBUTTON "&Змінити...", IDC_USER_VARIABLE_EDIT, 134, 90, 50, 14
     PUSHBUTTON "В&идалити", IDC_USER_VARIABLE_DELETE, 188, 90, 50, 14
-    GROUPBOX "Системні змінні", IDC_STATIC, 7, 116, 238, 100
+    GROUPBOX "Системні змінні", IDC_SYSTEM_VARIABLE_GROUP, 7, 116, 238, 100
     CONTROL "", IDC_SYSTEM_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 129, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "&Створити...", IDC_SYSTEM_VARIABLE_NEW, 80, 194, 50, 14
diff --git a/dll/cpl/sysdm/lang/zh-CN.rc b/dll/cpl/sysdm/lang/zh-CN.rc
index 38c1dd73adc..e3620d2e28f 100644
--- a/dll/cpl/sysdm/lang/zh-CN.rc
+++ b/dll/cpl/sysdm/lang/zh-CN.rc
@@ -261,17 +261,18 @@ BEGIN
 END
 
 IDD_ENVIRONMENT_VARIABLES DIALOGEX 6, 18, 252, 245
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | 
WS_CAPTION | WS_SYSMENU
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION | 
WS_VISIBLE | WS_THICKFRAME
 CAPTION "环境变量"
 FONT 9, "宋体", 0, 0, 0x0
 BEGIN
-    GROUPBOX "用户变量", IDC_STATIC, 7, 12, 238, 100
+    SCROLLBAR IDC_DIALOG_GRIP, 245, 238, 7, 7, SBS_SIZEGRIP
+    GROUPBOX "用户变量", IDC_USER_VARIABLE_GROUP, 7, 12, 238, 100
     CONTROL "", IDC_USER_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 25, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "新建(&N)", IDC_USER_VARIABLE_NEW, 80, 90, 50, 14
     PUSHBUTTON "编辑(&E)", IDC_USER_VARIABLE_EDIT, 134, 90, 50, 14
     PUSHBUTTON "删除(&D)", IDC_USER_VARIABLE_DELETE, 188, 90, 50, 14
-    GROUPBOX "系统变量", IDC_STATIC, 7, 116, 238, 100
+    GROUPBOX "系统变量", IDC_SYSTEM_VARIABLE_GROUP, 7, 116, 238, 100
     CONTROL "", IDC_SYSTEM_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 129, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "新建(&W)", IDC_SYSTEM_VARIABLE_NEW, 80, 194, 50, 14
diff --git a/dll/cpl/sysdm/lang/zh-TW.rc b/dll/cpl/sysdm/lang/zh-TW.rc
index 626688b5e3b..29c547af5c2 100644
--- a/dll/cpl/sysdm/lang/zh-TW.rc
+++ b/dll/cpl/sysdm/lang/zh-TW.rc
@@ -266,17 +266,18 @@ BEGIN
 END
 
 IDD_ENVIRONMENT_VARIABLES DIALOGEX 6, 18, 252, 245
-STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | 
WS_CAPTION | WS_SYSMENU
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION | 
WS_VISIBLE | WS_THICKFRAME
 CAPTION "環境變數"
 FONT 9, "新細明體", 0, 0, 0x0
 BEGIN
-    GROUPBOX "使用者變數", IDC_STATIC, 7, 12, 238, 100
+    SCROLLBAR IDC_DIALOG_GRIP, 245, 238, 7, 7, SBS_SIZEGRIP
+    GROUPBOX "使用者變數", IDC_USER_VARIABLE_GROUP, 7, 12, 238, 100
     CONTROL "", IDC_USER_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 25, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "新增(&N)", IDC_USER_VARIABLE_NEW, 80, 90, 50, 14
     PUSHBUTTON "編輯(&E)", IDC_USER_VARIABLE_EDIT, 134, 90, 50, 14
     PUSHBUTTON "刪除(&D)", IDC_USER_VARIABLE_DELETE, 188, 90, 50, 14
-    GROUPBOX "系統變數", IDC_STATIC, 7, 116, 238, 100
+    GROUPBOX "系統變數", IDC_SYSTEM_VARIABLE_GROUP, 7, 116, 238, 100
     CONTROL "", IDC_SYSTEM_VARIABLE_LIST, "SysListView32", LVS_REPORT | 
LVS_SINGLESEL | LVS_SHOWSELALWAYS |
             LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_VSCROLL | WS_HSCROLL | 
WS_TABSTOP, 14, 129, 224, 58, WS_EX_CLIENTEDGE
     PUSHBUTTON "新增(&W)", IDC_SYSTEM_VARIABLE_NEW, 80, 194, 50, 14
diff --git a/dll/cpl/sysdm/resource.h b/dll/cpl/sysdm/resource.h
index d0a720f1619..4fc0fa8ae79 100644
--- a/dll/cpl/sysdm/resource.h
+++ b/dll/cpl/sysdm/resource.h
@@ -132,6 +132,8 @@
 #define IDC_SYSTEM_VARIABLE_NEW    606
 #define IDC_SYSTEM_VARIABLE_EDIT   607
 #define IDC_SYSTEM_VARIABLE_DELETE 608
+#define IDC_USER_VARIABLE_GROUP    609
+#define IDC_SYSTEM_VARIABLE_GROUP  610
 
 /* Edit environment variables */
 #define IDD_EDIT_VARIABLE        700

Reply via email to