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 Kommentare

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.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Matthew
Matthew am 22 Nov. 2016
Bearbeitet: Matthew am 22 Nov. 2016
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.

Kategorien

Gefragt:

am 20 Okt. 2016

Bearbeitet:

am 22 Nov. 2016

Community Treasure Hunt

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

Start Hunting!

Translated by