How to disable an action button programmatically in Simulink mask?

Hello, I'm actually looking for disable a button in a mask under conditions, it works well with parameters with the following code but when it is a button it doesn't work.
Name=get_param(gcb,'ModelName');
if strcmp(Name,'User defined')
set_param(gcb,'MaskEnables',{'on','on'});
else
set_param(gcb,'MaskEnables',{'on','off'};
end
My block has two parameters, the first one is called 'ModelName', it is a 'Popup' parameter with some names and one is 'User defined'. The second is currently an 'Edit' parameter but I want to change it or add a 'Button' action and enable it only if 'User defined' is selected.
Thanks for your help.

2 Comments

can you show the diagram corresponding to block and mask interface(include the segment code)
There is nothing to show, I just want to know how to disable a button, I can do it with parameters but not with buttons.

Sign in to comment.

Answers (1)

Here's a method
maskHandle = Simulink.Mask.get(gcb);
buttonHandle = maskHandle.getDialogControl('myButtonName');
buttonHandle.Enabled = 'off';
Thanks to John D. in this answer for the the way to get the button handle.

Categories

Asked:

on 20 Oct 2016

Edited:

on 22 Nov 2016

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!