GUI with no 'close' and 'minimize' buttons
43 vues (au cours des 30 derniers jours)
I have made a GUI which displays 'Please wait ...' during a computation so it shouldn't be closed or minimized. How can I eliminate the entire bar to prevent unwanted closure or action? Thank you in advance. P.S. I did download WindowAPI but it's not working or I don't know to run it properly. A little help would be great.
Sampath Rachumallu le 11 Mai 2020
You can check the below link.
You can hide the 'minimise' and 'close' button by setting 'WindowState' property of uifigure to 'full screen'. Here is the code
f = uifigure('WindowState', 'fullscreen');
But when the 'ESC' key is pressed it will come to normal window size having all 'minimise', 'close' buttons etc
Friedrich le 12 Mai 2014
Modifié(e) : Friedrich le 19 Mai 2014
at least on Windows AFAIK no close button is only possible if you disable the complete caption of the window which results in no minimize and maximize buttons too. However no minimize button is possible but you have to stay with the close button. All of this can be done using the Windows API and the SetWindowLong function inside a MEX function.
It migth be easier to implement your own CloseRequestFcn to prevent closing the figure as long the calculation runs. However getting the minimize button to do nothing is not possible from within MATLAB.
Use a small mex (mymex.c):
void mexFunction( int nlhs, mxArray *plhs, int nrhs, const mxArray *prhs)
if (nrhs == 1)
long value = GetWindowLong(*(HWND*)mxGetData(prhs), GWL_STYLE);
plhs = mxCreateLogicalScalar(SetWindowLong(*(HWND*)mxGetData(prhs),GWL_STYLE,(int)(value & ~WS_CAPTION)) > 0);
And call it from MATLAB
jFrame = get(handle(gcf),'JavaFrame');
hWnd = int32(jFrame.fHG1Client.getWindow.getHWnd);