mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-06 11:41:04 +02:00
qt: fix TMonitor support (tested on 2 monitor system)
git-svn-id: trunk@19247 -
This commit is contained in:
parent
9ca2fd903b
commit
a7562d799f
@ -1332,7 +1332,7 @@ var
|
||||
begin
|
||||
Desktop := QApplication_desktop();
|
||||
for i := 0 to QDesktopWidget_numScreens(Desktop) - 1 do
|
||||
lpfnEnum(HMONITOR(QDesktopWidget_screen(Desktop, i)), 0, nil, dwData);
|
||||
lpfnEnum(i, 0, nil, dwData);
|
||||
Result := True;
|
||||
end;
|
||||
|
||||
@ -2242,28 +2242,18 @@ end;
|
||||
function TQtWidgetSet.GetMonitorInfo(Monitor: HMONITOR; lpmi: PMonitorInfo): Boolean;
|
||||
var
|
||||
Desktop: QDesktopWidgetH;
|
||||
i: integer;
|
||||
Screen: QWidgetH;
|
||||
begin
|
||||
Result := (lpmi <> nil) and (lpmi^.cbSize >= SizeOf(TMonitorInfo));
|
||||
if not Result then Exit;
|
||||
Result := False;
|
||||
Desktop := QApplication_desktop();
|
||||
for i := 0 to QDesktopWidget_numScreens(Desktop) - 1 do
|
||||
begin
|
||||
Screen := QDesktopWidget_screen(Desktop, i);
|
||||
if HMONITOR(Screen) = Monitor then
|
||||
begin
|
||||
QDesktopWidget_screenGeometry(Desktop, @lpmi^.rcMonitor, i);
|
||||
QDesktopWidget_availableGeometry(Desktop, @lpmi^.rcWork, i);
|
||||
if QDesktopWidget_primaryScreen(Desktop) = i then
|
||||
lpmi^.dwFlags := MONITORINFOF_PRIMARY
|
||||
else
|
||||
lpmi^.dwFlags := 0;
|
||||
Result := True;
|
||||
break;
|
||||
end;
|
||||
end;
|
||||
Result := (Monitor >= 0) and (Monitor < QDesktopWidget_numScreens(Desktop));
|
||||
if not Result then Exit;
|
||||
QDesktopWidget_screenGeometry(Desktop, @lpmi^.rcMonitor, Monitor);
|
||||
QDesktopWidget_availableGeometry(Desktop, @lpmi^.rcWork, Monitor);
|
||||
if QDesktopWidget_primaryScreen(Desktop) = Monitor then
|
||||
lpmi^.dwFlags := MONITORINFOF_PRIMARY
|
||||
else
|
||||
lpmi^.dwFlags := 0;
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
|
Loading…
Reference in New Issue
Block a user