Je veux désactiver le bouton de fermeture de la figure dans Matlab. Comment puis-je faire cela?Comment désactiver le bouton de fermeture sur la figure
Répondre
Il semble que vous deviez remplacer le gestionnaire d'événements CloseRequestFcn
, voir here. Vous ne pouvez pas masquer ou désactiver le bouton de fermeture, mais vous pouvez vous assurer que l'utilisateur qui clique dessus n'aura aucun effet.
Avec cela, vous pouvez désactiver tous:
set(findall(handles.your_uipanel, '-property', 'Enable'), 'Enable', 'off')
mais seulement désactiver les proches l'une:
function closeRequestDemo
figHdl = dialog('Name','Close Request Demo',...
'CloseRequestFcn',@cmdClose_Callback);...dialog creates a nice stripped down figure
uicontrol('Parent',figHdl,...
'String','Close',...
'Callback',@cmdClose_Callback);
function cmdClose_Callback(hObject,varargin)
disp(['Close Request coming from: ',get(hObject,'Type')]);
%do cleanup here
delete(figHdl);
end %cmdClose_Callback
end %closeRequestDemo
Sources ici https://www.mathworks.com/matlabcentral/newsreader/view_thread/290049
une autre façon est:
% Get all the handles to everything we want to set in a single array.
handleArray = [handles.editText, handles.pushbutton, handles.listbox];
% Set them all disabled.
set(handlesArray, 'Enable', 'off');
merci, mais où je devrais insérer le premier code? dans ** CloseRequestFcn **? –
@MasoudZayyani pas exactement, je vais ajouter une autre alternative, vous pouvez le vérifier ici: https://www.mathworks.com/matlabcentral/answers/72650-hide-and-disable-uicontrols-in-groups vous n'insérez pas il, vous l'exécutez. –
@MasoudZayyani J'ai mis à jour la réponse, j'espère que cela vous aide, ne pas oublier d'accepter la réponse si elle était utile :) –
Merci pour votre réponse, mais il n'y avait pas de solution. –
Comment puis-je faire cela? –
@MasoudZayyani, voici comment: https://www.mathworks.com/matlabcentral/answers/139854-how-to-change-the-gui-close-function-with-changing-the-close-function-of-figures – randomir