currentState = enableDisableFig(hFig, newState)
enableDisableFig sets the figure hFig's enable/disable state, which is otherwise supported by Matlab only for specific components but not figures. Using this function, the entire figure window, including all internal menus, toolbars and components, is enabled/disabled in a single call. Valid values for newState are true, false, 'on' & 'off' (case insensitive). hFig may be a list of figure handles.
Note 1: when the state is enabled, internal figure components may remain disabled if their personal 'enabled' property is 'off'.
Note 2: in disabled state, a figure cannot be moved, resized, closed or accessed. None of its menues, toolbars, buttons etc. are clickable.
enableDisableFig(newState) sets the state of the current figure (gcf).
state = enableDisableFig(hFig) returns the current enabled/disabled state of figure hFig, or of the current figure (gcf) if hFig is not supplied. The returned state is either 'on' or 'off'.
state = enableDisableFig;
state = enableDisableFig(hFig);
oldState = enableDisableFig(hFig, 'on');
oldState = enableDisableFig(hFig, result>0);
oldState = enableDisableFig(true); % on current figure
Bugs and suggestions:
Please send to Yair Altman (altmany at gmail dot com)
This code heavily relies on undocumented and unsupported Matlab functionality. It works on Matlab 7+, but use at your own risk!
Yair Altman (2022). enable/disable entire figure window (https://www.mathworks.com/matlabcentral/fileexchange/15895-enable-disable-entire-figure-window), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Inspired: Laser Speckle Analysis Software, BacStalk, blurFigure - blurs and prevents interaction on figure window, undecorateFig - remove/restore figure border and title bar, setFigTransparency - set figure transparency / fading
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!