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/deskto…
==============================================================================
--- 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/…
==============================================================================
--- 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/…
==============================================================================
--- 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/taskba…
==============================================================================
--- 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/taskba…
==============================================================================
--- 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) {