explorer_show_frame(SW_SHOWNORMAL);
break;
+ case WM_DISPLAYCHANGE:
+ MoveWindow(_hwnd, 0, 0, LOWORD(lparam), HIWORD(lparam), TRUE);
+ MoveWindow(g_Globals._hwndShellView, 0, 0, LOWORD(lparam), HIWORD(lparam), TRUE);
+ MoveWindow(_desktopBar, 0, HIWORD(lparam) - DESKTOPBARBAR_HEIGHT, LOWORD(lparam), DESKTOPBARBAR_HEIGHT, TRUE);
+ break;
+
case WM_GETISHELLBROWSER:
return (LRESULT)static_cast<IShellBrowser*>(this);
goto def;
case WM_SYSCOLORCHANGE:
- // redraw background window
- InvalidateRect(g_Globals._hwndShellView, NULL, TRUE);
+ // redraw background window - it's done by system
+ //InvalidateRect(g_Globals._hwndShellView, NULL, TRUE);
- // forward message to shell view window to redraw icon backgrounds
- SendMessage(g_Globals._hwndShellView, WM_SYSCOLORCHANGE, wparam, lparam);
+ // forward message to common controls
+ SendMessage(g_Globals._hwndShellView, WM_SYSCOLORCHANGE, 0, 0);
+ SendMessage(_desktopBar, WM_SYSCOLORCHANGE, 0, 0);
break;
default: def:
{
_hwndListView = GetNextWindow(hwnd, GW_CHILD);
- SetWindowStyle(_hwndListView, GetWindowStyle(_hwndListView)&~LVS_ALIGNMASK);//|LVS_ALIGNTOP|LVS_AUTOARRANGE);
-
// work around for Windows NT, Win 98, ...
// Without this the desktop has mysteriously only a size of 800x600 pixels.
ClientRect rect(hwnd);
// subclass background window
new BackgroundWindow(_hwndListView);
- _icon_algo = 1; // default icon arrangement
+ _icon_algo = 0; // default icon arrangement
- PositionIcons();
InitDragDrop();
}
RECT work_area;
SystemParametersInfo(SPI_GETWORKAREA, 0, &work_area, 0);
+ /* disable default allignment */
+ SetWindowStyle(_hwndListView, GetWindowStyle(_hwndListView)&~LVS_ALIGNMASK);//|LVS_ALIGNTOP|LVS_AUTOARRANGE);
+
const POINTS& dir1 = s_align_dir1[_icon_algo];
const POINTS& dir2 = s_align_dir2[_icon_algo];
const POINTS& start_pos = s_align_start[_icon_algo];