万博1manbetx®包括定制的API,允许你禁用和隐藏控件(也被称为小部件),如文本框和按钮,在大多数对话框中。定制API允许你禁用或隐藏控件对整个类的对话框,例如,参数对话框,通过一个方法调用的方式。
在您自定义Simulink的对话框或类的对话框万博1manbetx,首先要确保对话框的对话框或类是定制的。任何对话框出现在Model Explorer中的对话框面板是可定制的。此外,任何对话框,具有对话框和widget IDS是可定制的。为了确定一个对话框是可定制的,打开对话框,使对话和微件ID的显示(见控件的ID),以及悬停在一个小部件。如果一个部件ID出现,你可以自定义对话框。
一旦你已经确定的对话框对话框或类是定制的,写MATLAB®代码自定义对话框。这需要编写回调函数为对话框特定的对话框或级伤残或隐藏控件(参见写控制自定义回调函数)和注册使用定制管理器的回调函数(参见套准控制自定义回调函数)。万博1manbetxSimulink中调用回调函数来禁用或隐藏控制每当你打开对话框。
这个sl_customization.m
文件禁用浏览按钮代码生成配置参数对话框的窗格中其名称中包含任何模型发动机
。
功能sl_customization(厘米)%禁止用于独立配置参数对话框configset.dialog.Customizer.addCustomization(@ disableRTWBrowseButton,厘米);端功能disableRTWBrowseButton(dialogH)HSRC = dialogH.getSource;%S万博1manbetximulink.RTWCC hModel = hSrc.getModel;MODELNAME = get_param(hModel, '名称');如果〜的isEmpty(strfind(MODELNAME, '引擎'))%注意到的插件厂ID的单元阵列。dialogH.disableWidgets({ 'STF_Browser'})结束端
为了测试这个定制:
保存sl_customization.m
在MATLAB路径下的文件。
刷新通过输入自定义sl_refresh_customizations
在命令行或通过重新启动MATLAB(见注册自定义)。
打开sldemo_engine
模型,例如,通过输入命令sldemo_engine
在命令提示。
在打开的配置参数对话框,并期待代码生成窗格,看是否浏览按钮是无效的。
对于上一个对话框禁用或隐藏控件的回调函数接受一个参数:一个句柄包含要禁用或隐藏控制对话框对象。该对话框对象提供的方法,该回调函数可用于禁用或隐藏控件的对话框中包含的内容。
该对话框对象还提供了访问包含有关当前模型信息的对象。回调函数可以使用这些对象,以确定是否禁用或隐藏控件。例如,这个回调函数使用这些对象禁用浏览按钮代码生成配置参数对话框的窗格中其名称中包含任何模型发动机
。
功能disableRTWBrowseButton(dialogH)HSRC = dialogH.getSource;%S万博1manbetximulink.RTWCC hModel = hSrc.getModel;MODELNAME = get_param(hModel, '名称');如果〜的isEmpty(strfind(MODELNAME, '引擎'))%注意到的插件厂ID的单元阵列。dialogH.disableWidgets({ 'STF_Browser'})端
对话框对象提供这些方法可启用,禁用和隐藏控件:
disableWidgets(widgetIDs)
hideWidgets(widgetIDs)
widgetIDs
是插件的标识符的单元阵列(见控件的ID)指定的部件来禁用或隐藏。
控件的ID标识在Simulink的对话框控制。万博1manbetx为了确定微件ID特定控制,执行在命令行以下代码:
厘米= sl_customization_manager;cm.showWidgetIdAsToolTip =真
打开包含在控件显示一个提示列出控件ID的控制和悬停对话框。例如,悬停在开始时间在球场上求解的配置参数对话框显示窗格中,对于小部件ID开始时间场开始时间
。
在显示工具提示无法自定义
用于控制那些不能自定义。
到寄存器控制定制回调函数的Simulink的安装,在安装中包含代码万博1manbetxsl_customization.m
文件(见注册自定义),该调用configset.dialog.Customizer.addCustomization
方法上的回调。
此方法采用作为参数的指针回调函数进行注册。调用此方法将导致在打开对话框之前要调用已注册的功能。
本实施例中登记一个禁用一个回调浏览按钮代码生成配置参数对话框的窗格(参见写控制自定义回调函数)。
功能sl_customization(厘米)%禁止用于独立配置参数对话框configset.dialog.Customizer.addCustomization(@ disableRTWBrowseButton,厘米);结束
注册一个定制的回调导致的Simulink调用回调类的该方法对话框ID参数指定对话框的每个万博1manbetx实例。因此,您可以使用一个回调来关闭或隐藏整个类的对话框控制。特别是,你可以使用一个回调来关闭或隐藏控制的参数是常见的大多数内置模块。大多数内置块对话框是同一个对话框超类的实例。