禁用和隐藏对话框控件
关于禁用和隐藏控件
金宝app®包括一个定制的API,允许您禁用和隐藏控件(也称为小部件),比如文本字段和按钮,在大多数对话框。自定义API允许您禁用或隐藏对话框控制整个类,例如,参数对话框,通过一个方法调用。
之前定制一个仿真软件对话框对话框或类,首先确保金宝app对话框或类对话框是可定制的。任何对话框出现在模型浏览器的对话框窗格是可定制的。此外,任何对话框,对话框和窗口小部件id是可定制的。确定一个对话框是可定制的,打开对话框,使对话框和窗口小部件ID显示(见小部件id),在一个小部件。如果出现一个小部件ID,您可以自定义对话框。
一旦你已经确定,一个对话框或类对话框是可定制的,编写MATLAB®自定义对话框的代码。这需要写回调函数,禁用或隐藏特定对话框控件或类的对话框(请参阅写控制自定义回调函数使用定制管理器)和注册回调函数(见寄存器控制自定义回调函数)。金宝app仿真软件调用回调函数来禁用或隐藏控件每当你打开对话框。
关闭对话框上的按钮
这sl_customization.m
文件禁用浏览按钮代码生成面板配置参数对话框的名称包含的任何模型引擎
。
函数sl_customization (cm) %禁用为独立的配置参数对话框configset.dialog.Customizer.addCustomization (@disableRTWBrowseButton, cm);结束函数disableRTWBrowseButton (dialogH) hSrc = dialogH.getSource;%仿金宝app真软件。RTWCC hModel = hSrc.getModel;modelName = get_param (hModel '名称');如果~ isempty (strfind (modelName“引擎”))%需要单元阵列部件工厂ID. dialogH.disableWidgets ({' STF_Browser '})结束
为了测试这个定制:
保存
sl_customization.m
在MATLAB文件路径。刷新自定义输入
sl_refresh_customizations
在命令行或重启MATLAB(见注册定制与动态仿真模块金宝app)。打开sldemo_engine模型使用触发子系统建模引擎时机的例子。
打开看看配置参数对话框代码生成面板,看看浏览按钮被禁用。
写控制自定义回调函数
禁用或隐藏控件的回调函数接受一个参数:在对话框的句柄的对话框对象包含控制你想禁用或隐藏。对话框对象提供了方法,回调函数可以使用禁用或隐藏对话框中包含的控件。
对话框对象还提供了访问对象包含有关当前模型的信息。你的回调函数可以使用这些对象来决定是否要禁用或隐藏控件。例如,禁用这个回调函数使用这些对象浏览按钮代码生成面板配置参数对话框的名称包含的任何模型引擎
。
函数disableRTWBrowseButton (dialogH) hSrc = dialogH.getSource;%仿金宝app真软件。RTWCC hModel = hSrc.getModel;modelName = get_param (hModel '名称');如果~ isempty (strfind (modelName“引擎”))%需要单元阵列部件工厂ID. dialogH.disableWidgets ({' STF_Browser '})
对话框的方法
对话框对象提供这些方法启用,禁用,和隐藏控件:
disableWidgets (widgetIDs)
hideWidgets (widgetIDs)
widgetIDs
是小部件的单元数组标识符(看到了吗小部件id禁用或隐藏),指定小部件。
小部件id
小部件id识别模型上的控制对话框。金宝app确定小部件ID为特定的控制,在命令行上执行下面的代码:
厘米= sl_customization_manager;厘米。showWidgetIdAsToolTip = true
打开对话框,其中包含控制和悬停在控制显示一个工具提示列表小部件ID。例如,上空盘旋开始时间场的解算器面板的配置参数对话框中显示的小部件ID开始时间字段是开始时间
。
请注意
工具提示显示没有可定制的
不是定制的控件。
寄存器控制自定义回调函数
注册控制自定义回调函数仿真软件的安装,包括代码安装金宝appsl_customization.m
文件(见注册定制与动态仿真模块金宝app),调用configset.dialog.Customizer.addCustomization
回调方法。
该方法以作为参数寄存器指向回调函数的指针。调用这个方法导致注册函数被调用之前打开的对话框。
这个例子中注册一个回调,禁用浏览按钮代码生成面板的配置参数对话框(见写控制自定义回调函数)。
函数sl_customization (cm) %禁用为独立的配置参数对话框configset.dialog.Customizer.addCustomization (@disableRTWBrowseButton, cm);结束
请注意
注册自定义回调使仿真软件调用回调为每一个类的实例方法对话框对话框指定的ID参数。金宝app因此,可以使用一个回调禁用或隐藏对话框的控制整个类。特别是,您可以使用一个回调禁用或隐藏的控制参数,是最常见的内置块。大多数内置块对话框对话框超类是相同的实例。