diff --git a/reactos/subsys/system/explorer/desktop/desktop.cpp b/reactos/subsys/system/explorer/desktop/desktop.cpp index f72af94dd5e..3b37236fae8 100644 --- a/reactos/subsys/system/explorer/desktop/desktop.cpp +++ b/reactos/subsys/system/explorer/desktop/desktop.cpp @@ -246,7 +246,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 a4b399c396c..d857836372f 100644 --- a/reactos/subsys/system/explorer/desktop/desktop.h +++ b/reactos/subsys/system/explorer/desktop/desktop.h @@ -35,7 +35,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);