diff --git a/reactos/subsys/system/explorer/desktop/desktop.cpp b/reactos/subsys/system/explorer/desktop/desktop.cpp index 5050eaae650..a59d3575f86 100644 --- a/reactos/subsys/system/explorer/desktop/desktop.cpp +++ b/reactos/subsys/system/explorer/desktop/desktop.cpp @@ -147,7 +147,15 @@ static void draw_desktop_background(HWND hwnd, HDC hdc) } -LRESULT BackgroundWindow::WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam) +BackgroundWindow::BackgroundWindow(HWND hwnd) + : super(hwnd) +{ + // set background brush for the short moment of displaying the + // background color while moving foreground windows + SetClassLong(hwnd, GCL_HBRBACKGROUND, COLOR_BACKGROUND+1); +} + +LRESULT BackgroundWindow::WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam) { switch(nmsg) { case WM_ERASEBKGND: diff --git a/reactos/subsys/system/explorer/desktop/desktop.h b/reactos/subsys/system/explorer/desktop/desktop.h index e5adf9ce2ed..72502f1f97c 100644 --- a/reactos/subsys/system/explorer/desktop/desktop.h +++ b/reactos/subsys/system/explorer/desktop/desktop.h @@ -31,7 +31,7 @@ struct BackgroundWindow : public SubclassedWindow { typedef SubclassedWindow super; - BackgroundWindow(HWND hwnd) : super(hwnd) {} + BackgroundWindow(HWND hwnd); protected: LRESULT WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam);