Author: rharabien Date: Sun May 1 12:58:15 2011 New Revision: 51524
URL: http://svn.reactos.org/svn/reactos?rev=51524&view=rev Log: [EXPLORER] * Properly support WM_SYSCOLORCHANGE
Modified: trunk/reactos/base/shell/explorer/desktop/desktop.cpp trunk/reactos/base/shell/explorer/shell/mainframe.cpp trunk/reactos/base/shell/explorer/shell/shellbrowser.cpp trunk/reactos/base/shell/explorer/taskbar/desktopbar.cpp trunk/reactos/base/shell/explorer/taskbar/taskbar.cpp
Modified: trunk/reactos/base/shell/explorer/desktop/desktop.cpp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/desktop... ============================================================================== --- trunk/reactos/base/shell/explorer/desktop/desktop.cpp [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer/desktop/desktop.cpp [iso-8859-1] Sun May 1 12:58:15 2011 @@ -464,11 +464,12 @@ goto def;
case WM_SYSCOLORCHANGE: - // redraw background window - InvalidateRect(g_Globals._hwndShellView, NULL, TRUE); - - // forward message to shell view window to redraw icon backgrounds - SendMessage(g_Globals._hwndShellView, WM_SYSCOLORCHANGE, wparam, lparam); + // redraw background window - it's done by system + //InvalidateRect(g_Globals._hwndShellView, NULL, TRUE); + + // forward message to common controls + SendMessage(g_Globals._hwndShellView, WM_SYSCOLORCHANGE, 0, 0); + SendMessage(_desktopBar, WM_SYSCOLORCHANGE, 0, 0);OutputDebugStringA("WM_SYSCOLORCHANGE desktop\n"); break;
default: def:
Modified: trunk/reactos/base/shell/explorer/shell/mainframe.cpp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/shell/m... ============================================================================== --- trunk/reactos/base/shell/explorer/shell/mainframe.cpp [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer/shell/mainframe.cpp [iso-8859-1] Sun May 1 12:58:15 2011 @@ -372,6 +372,11 @@ 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; } @@ -993,6 +998,20 @@ } 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;
Modified: trunk/reactos/base/shell/explorer/shell/shellbrowser.cpp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/shell/s... ============================================================================== --- trunk/reactos/base/shell/explorer/shell/shellbrowser.cpp [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer/shell/shellbrowser.cpp [iso-8859-1] Sun May 1 12:58:15 2011 @@ -701,6 +701,12 @@ } return TRUE;}
+ case WM_SYSCOLORCHANGE: + /* Forward WM_SYSCOLORCHANGE to common controls */ + SendMessage(_left_hwnd, WM_SYSCOLORCHANGE, 0, 0); + SendMessage(_right_hwnd, WM_SYSCOLORCHANGE, 0, 0); + break; + default: return super::WndProc(nmsg, wparam, lparam); }
Modified: trunk/reactos/base/shell/explorer/taskbar/desktopbar.cpp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/taskbar... ============================================================================== --- trunk/reactos/base/shell/explorer/taskbar/desktopbar.cpp [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer/taskbar/desktopbar.cpp [iso-8859-1] Sun May 1 12:58:15 2011 @@ -345,6 +345,15 @@ case PM_GET_NOTIFYAREA: return (LRESULT)(HWND)_hwndNotify;
+ case WM_SYSCOLORCHANGE:OutputDebugStringA("WM_SYSCOLORCHANGE desktopbar\n"); + /* Forward WM_SYSCOLORCHANGE to common controls */ +#ifndef _NO_REBAR + SendMessage(_hwndrebar, WM_SYSCOLORCHANGE, 0, 0); +#endif + SendMessage(_hwndQuickLaunch, WM_SYSCOLORCHANGE, 0, 0); + SendMessage(_hwndTaskBar, WM_SYSCOLORCHANGE, 0, 0); + break; + default: def: return super::WndProc(nmsg, wparam, lparam); }
Modified: trunk/reactos/base/shell/explorer/taskbar/taskbar.cpp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/taskbar... ============================================================================== --- trunk/reactos/base/shell/explorer/taskbar/taskbar.cpp [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer/taskbar/taskbar.cpp [iso-8859-1] Sun May 1 12:58:15 2011 @@ -201,6 +201,10 @@
case PM_GET_LAST_ACTIVE: return (LRESULT)(HWND)_last_foreground_wnd; + + case WM_SYSCOLORCHANGE: + SendMessage(_htoolbar, WM_SYSCOLORCHANGE, 0, 0); + break;
default: def: if (nmsg == WM_SHELLHOOK) {