Преглед на файлове

Merge pull request #114 from mandrelavoie/Fix-error-tooltip-position-on-multi-display-systems

Fix error tooltip position on multi-screen systems
Brian Fiete преди 5 години
родител
ревизия
e0af0e6762
променени са 1 файла, в които са добавени 13 реда и са изтрити 1 реда
  1. 13 1
      BeefySysLib/platform/win/WinBFApp.cpp

+ 13 - 1
BeefySysLib/platform/win/WinBFApp.cpp

@@ -1131,7 +1131,19 @@ void WinBFApp::GetDesktopResolution(int& width, int& height)
 void WinBFApp::GetWorkspaceRect(int& x, int& y, int& width, int& height)
 {
 	RECT desktopRect;
-	::SystemParametersInfo(SPI_GETWORKAREA, NULL, &desktopRect, NULL);
+
+	if (::GetSystemMetrics(SM_CMONITORS) > 1) 
+	{
+		desktopRect.left = ::GetSystemMetrics(SM_XVIRTUALSCREEN);
+		desktopRect.right = ::GetSystemMetrics(SM_CXVIRTUALSCREEN);
+		desktopRect.top = ::GetSystemMetrics(SM_YVIRTUALSCREEN);
+		desktopRect.bottom = ::GetSystemMetrics(SM_CYVIRTUALSCREEN);
+	}
+	else
+	{
+		::SystemParametersInfo(SPI_GETWORKAREA, NULL, &desktopRect, NULL);	
+	}
+
 	x = desktopRect.left;
 	y = desktopRect.top;
 	width = desktopRect.right - desktopRect.left;