MATLAB Answers


how to catch when a figure was minimized

Asked by Jan Keij on 12 Sep 2019
Latest activity Commented on by Jan Keij on 13 Sep 2019
I am writing a to-be standalone for semi-commercial use on a dedicated laptop and want to pervent the user to get to the desktop and into the PC from there. My problem is that I cannot seem to pervent the user from minimizing the main GUI figure. I can block resizing, and I can catch&prevent an effort to close the figure via 'CloseRequestFcn', but I cannot find a trick to catch minimizing. 'SizeChangedFcn' works after the fact only. If there is a way that I could constantly pole for the minimized state and restore it that would be an acceptable workaround.
Yes, I did find Jan Simon's WindowAPI to supersize the figure, but that seems require compilation of C code and I have not done that before Am hoping for alternatives.




1 Answer

Answer by Steven Lord
on 12 Sep 2019

Make the figure window 'fullscreen'?
f = figure('WindowState', 'fullscreen');


That usually permits mousing against the upper boundary of the screen to bring up the system toolbar and then minimize MATLAB.
It didn't when I tried it on my Windows machine running release R2019a. I have not tried using a different OS or a different release.
Yes! Thank you Steve & Walter. "Fullscreen" did the trick for R2019a.
When I execute: h= uifigure(1); h.Menubar= 'none'; h.ToolBar = 'none'; h.windowState= 'fullscreen', the 3 icons are no longer visible. I tried 'mousing' against the upper boundary and I could not get to the minimimize icon. So far, so good
However.... When I excute the command sequence above, I get a 'message' at the top of the screen "Press ESC to exit full-screen mode".
This solution does move the needle, but this solution does not seem bullet-proof. CTRL + F11 or pressing 'ESC' anywhere in my program will still allow the user to minimize, even with h.Resize= 'off'.
Gents - any further suggestions?
Steve - why does MW not consider 'minimize' a resize action? Can I override the 'ESC'?
Many Thanks,

Sign in to comment.