フィルターのクリア

How to disable an action button programmatically in Simulink mask?

10 ビュー (過去 30 日間)
Damien
Damien 2016 年 10 月 20 日
編集済み: Matthew 2016 年 11 月 22 日
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 件のコメント
Gareth Lee
Gareth Lee 2016 年 10 月 20 日
can you show the diagram corresponding to block and mask interface(include the segment code)
Damien
Damien 2016 年 10 月 21 日
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.

サインインしてコメントする。

回答 (1 件)

Matthew
Matthew 2016 年 11 月 22 日
編集済み: Matthew 2016 年 11 月 22 日
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.

カテゴリ

Help Center および File ExchangeProgrammatic Model Editing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by