* Sync with recent trunk (r52637).
[reactos.git] / base / shell / explorer / shell / mainframe.cpp
index 9019de5..b3cf599 100644 (file)
@@ -372,6 +372,11 @@ bool MainFrameBase::ProcessMessage(UINT nmsg, WPARAM wparam, LPARAM lparam, LRES
                SendMessage(_hstatusbar, SB_SETTEXT, 0, lparam);
                break;
 
+         case WM_SYSCOLORCHANGE:
+               SendMessage(_hwndrebar, WM_SYSCOLORCHANGE, 0, 0);
+               SendMessage(_htoolbar, WM_SYSCOLORCHANGE, 0, 0);
+               break;
+
          default:
                return false;
        }
@@ -873,7 +878,7 @@ HWND MDIMainFrame::Create()
        HMENU hMenuFrame = LoadMenu(g_Globals._hInstance, MAKEINTRESOURCE(IDM_MDIFRAME));
 
        return Window::Create(WINDOW_CREATOR(MDIMainFrame), 0,
-                               (LPCTSTR)(int)g_Globals._hframeClass, ResString(IDS_TITLE), WS_OVERLAPPEDWINDOW,
+                               (LPCTSTR)(int)g_Globals._hframeClass, ResString(IDS_TITLE), WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN,
                                CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
                                0/*hwndDesktop*/, hMenuFrame);
 }
@@ -993,6 +998,20 @@ LRESULT MDIMainFrame::WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam)
                }
                return TRUE;}   // success
 
+         case WM_SYSCOLORCHANGE: {
+               LRESULT res;
+               HWND hChild;
+
+               /* Forward WM_SYSCOLORCHANGE to common controls */
+               SendMessage(_hextrabar, WM_SYSCOLORCHANGE, 0, 0);
+               SendMessage(_hdrivebar, WM_SYSCOLORCHANGE, 0, 0);
+
+               for(hChild = GetNextWindow(_hmdiclient,GW_CHILD); hChild; hChild = GetNextWindow(hChild, GW_HWNDNEXT))
+                       SendMessage(hChild, WM_SYSCOLORCHANGE, 0, 0);
+
+               super::ProcessMessage(nmsg, wparam, lparam, &res);
+               break; }
+
          default: {
                LRESULT res;