Author: gedmurphy
Date: Mon Oct 1 19:44:53 2007
New Revision: 29331
URL:
http://svn.reactos.org/svn/reactos?rev=29331&view=rev
Log:
- half implement support for multiple monitors to desk.cpl
- people with more than one monitor can now use this applet in windows without it
crashing
Modified:
trunk/reactos/dll/cpl/desk/settings.c
Modified: trunk/reactos/dll/cpl/desk/settings.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/desk/settings.c?re…
==============================================================================
--- trunk/reactos/dll/cpl/desk/settings.c (original)
+++ trunk/reactos/dll/cpl/desk/settings.c Mon Oct 1 19:44:53 2007
@@ -330,10 +330,35 @@
1,
(LPARAM)&monitors);
}
- else
- {
- /* FIXME: multi video adapter */
- /* FIXME: choose selected adapter being the primary one */
+ else /* FIXME: incomplete! */
+ {
+ PMONSL_MONINFO pMonitors;
+ INT i;
+
+ SendDlgItemMessage(hwndDlg, IDC_SETTINGS_DEVICE, WM_SETTEXT, 0,
(LPARAM)pGlobalData->DisplayDeviceList->DeviceDescription);
+ OnDisplayDeviceChanged(hwndDlg, pGlobalData, pGlobalData->DisplayDeviceList);
+
+ pMonitors = (PMONSL_MONINFO)HeapAlloc(GetProcessHeap(), 0, sizeof(MONSL_MONINFO) *
Result);
+ if (pMonitors)
+ {
+ INT hack = 1280;
+ for (i = 0; i < Result; i++)
+ {
+ pMonitors[i].Position.x = hack * i;
+ pMonitors[i].Position.y = 0;
+ pMonitors[i].Size.cx =
pGlobalData->DisplayDeviceList->CurrentSettings->dmPelsWidth;
+ pMonitors[i].Size.cy =
pGlobalData->DisplayDeviceList->CurrentSettings->dmPelsHeight;
+ pMonitors[i].Flags = 0;
+ }
+
+ SendDlgItemMessage(hwndDlg,
+ IDC_SETTINGS_MONSEL,
+ MSLM_SETMONITORSINFO,
+ Result,
+ (LPARAM)pMonitors);
+
+ HeapFree(GetProcessHeap(), 0, pMonitors);
+ }
}
pGlobalData->hBitmap = LoadImage(hApplet, MAKEINTRESOURCE(IDC_MONITOR), IMAGE_BITMAP,
0, 0, LR_LOADTRANSPARENT);