How to get the actual MonitorPosition, particularly with Windows scaling and changin monitor configurations?
19 次查看(过去 30 天)
显示 更早的评论
Hi,
we are usually working using laptops and external 1 or 2 monitors, such we have 1-3 monitors. Sometimes (e.g. when removing the laptop from the docking station), the number of monitors changes during a running MATLAB session. We need to position a number of figures and need the monitor positions at the current time for this. However,
get(0, 'MonitorPositions' )
seems to always return the monitor configuration at the time MATLAB was started.
We already tried to implement a workaround using Java (java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment ...) but we don't get the correct positions via this way when Windows Scaling (125% or 150%) ist used.
Is there any way to always get the correct monitor position, even with windos scaling and changing monitor positions during a running MATLAB session?
3 个评论
Jan
2017-10-5
编辑:Jan
2017-10-5
How is the "correct" position defined, when Windows scales the output?
Perhaps https://www.mathworks.com/matlabcentral/fileexchange/31437-windowapi is useful under Windows. But I do not have much experiences with scaling.
Kanthaswamy Ganapathy
2022-12-29
Hi,
Please find a fix as below. It was tried and found working in our setup with secondary monitor
if we require units in pixels, use
set(0,'units','pixels');
get(0,'MonitorPositions');
Regards,
Kanthaswamy
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Startup and Shutdown 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!