主要内容

菜单属性

控件中的控件菜单外观和行为uifigure-基于应用程序

菜单在应用程序窗口顶部显示选项的下拉列表。调用菜单函数创建菜单或向现有菜单添加子菜单。属性控制菜单的外观和行为。使用点符号表示特定对象和属性。

fig=UIFig;m=uimenu(图);m、 Text='打开选择';

此处列出的属性对于应用程序设计器中的菜单或使用创建的应用程序有效uifigure功能。用于指南或使用创建的应用程序中使用的菜单图形函数,请参见菜单属性.

菜单

全部展开

菜单标签,指定为字符向量或字符串标量。此属性指定出现在菜单或菜单项上的标签。

避免使用这些区分大小写的保留字:“default”、“remove”和“factory”。如果必须使用保留字,请在保留字前指定反斜杠字符。例如,将“default”指定为“\default”.

可以指定助记符键盘快捷键(Alt+记忆的)使用文本中的符号(&)字符作为标签。符号后面的字符在出现时在菜单中带下划线中高音压力很大。您可以通过按住中高音键并键入显示的字符。

要使用助记符,必须为应用程序中定义的所有菜单和菜单项指定助记符。如果仅为某些菜单或菜单项定义助记符,请按中高音键没有任何效果。

下表显示了一些示例:

文本值 带有助记提示的菜单标签
“&打开选择”

“O笔选择(&P)”

'保存(&G)'

键盘快捷键,指定为字符。使用此属性可定义用于选择菜单项的键盘快捷键。

例子:mitem.Accelerator='H'

通过指定加速器值,用户可以通过按字符和其他键来选择菜单项,而不是使用鼠标。关键序列是特定于平台的。

  • 窗户®系统:控制键+加速器

  • 麦金塔系统:命令+加速器

  • Linux®系统:控制键+加速器

使用加速器时要记住的事项:

  • 输入加速键序列时,应用程序窗口必须处于焦点位置。

  • 加速器不能在顶级菜单上使用。

  • 加速器仅在菜单项满足所有这些条件时工作。

    • 它不包含任何子菜单项。

    • 它执行一个回调函数。

    • 它有看得见的属性设置为“开”.

分隔线模式,指定为“关”“开”,或作为数字或逻辑1.(符合事实的)或0(错误的).价值“开”相当于符合事实的“关”相当于错误的. 因此,可以将此属性的值用作逻辑值。该值存储为类型为的开/关逻辑值matlab.lang.OnOffSwitchState.

将此属性设置为“开”在菜单项上方绘制一条分界线。

笔记

这个分离器当菜单项是顶级菜单项时,属性将被忽略。

菜单检查指示器,指定为“关”“开”,或作为数字或逻辑1.(符合事实的)或0(错误的).价值“开”相当于符合事实的“关”相当于错误的. 因此,可以将此属性的值用作逻辑值。该值存储为类型为的开/关逻辑值matlab.lang.OnOffSwitchState.

将此属性设置为“开”在相应的菜单项旁边放置复选标记。设置为“关”删除复选标记。您可以使用此功能显示在应用程序中启用或禁用功能的菜单项的状态。

笔记

这个选中的当菜单项为时,将忽略属性:

  • 顶级菜单项

  • 包含一个或多个子菜单项的菜单项

菜单标签颜色,指定为RGB三元组、十六进制颜色代码或表中列出的颜色选项之一。

RGB三元组和十六进制颜色代码用于指定自定义颜色。

  • RGB三元组是一个三元素行向量,其元素指定颜色的红色、绿色和蓝色分量的强度。强度必须在范围内[0,1]例如[0.4 0.6 0.7].

  • 十六进制颜色代码是以哈希符号开头的字符向量或字符串标量(#)后跟三个或六个十六进制数字,其范围为0F。值不区分大小写。因此,颜色代码“#FF8800”,“#ff8800”,“#F80”“#f80”它们是等价的。

或者,您可以通过名称指定一些常用颜色。此表列出了命名颜色选项、等效RGB三元组和十六进制颜色代码。

颜色名称 简称 RGB三重态 十六进制色码 外貌
“红色” “r” [1 0 0] “#FF0000”

“绿色” “g” [0 1 0] “#00FF00”

“蓝色” “b” [0 0 1] #0000FF"

“青色” “c” [0 1 1] “#00FFFF”

“洋红” “我是 [1 0 1] “#FF00FF”

“黄色” “是的” [1 1 0] "FFFF00"

“黑色” “k” [0 0 0] '#000000'

“白色” “w” [1 1 1] "FFFFFF"

以下是默认颜色的RGB三元组和十六进制颜色代码®用于多种类型的绘图。

RGB三重态 十六进制色码 外貌
[0 0.4470 0.7410] “#0072BD”

[0.8500 0.3250 0.0980] "D95319"

[0.9290 0.6940 0.1250] "EDB120"

[0.4940 0.1840 0.5560] "7E2F8E"

[0.4660 0.6740 0.1880] "77AC30"

[0.3010 0.7450 0.9330] “#4DBEEE”

[0.6350 0.0780 0.1840] "A2142F"

互动性

全部展开

可见性状态,指定为“开”“关”,或作为数字或逻辑1.(符合事实的)或0(错误的).价值“开”相当于符合事实的“关”相当于错误的. 因此,可以将此属性的值用作逻辑值。该值存储为类型为的开/关逻辑值matlab.lang.OnOffSwitchState.

  • “开”-显示对象。

  • “关”-隐藏对象而不删除它。您仍然可以访问不可见UI组件的属性。

要使应用程序启动更快,请设置看得见的财产“关”适用于启动时不需要显示的所有UI组件。

操作状态,指定为“开”“关”,或作为数字或逻辑1.(符合事实的)或0(错误的).价值“开”相当于符合事实的“关”相当于错误的. 因此,可以将此属性的值用作逻辑值。该值存储为类型为的开/关逻辑值matlab.lang.OnOffSwitchState.

  • 如果将此属性设置为“开”,应用程序用户可以与组件交互。

  • 如果将此属性设置为“关”,组件显示为灰色,表示应用程序用户无法与其交互,并且不会触发回调。

工具提示,指定为字符向量、字符向量单元格数组、字符串数组或一维分类数组。当用户在运行时将指针悬停在组件上时,使用此属性可显示消息。即使组件被禁用,工具提示也会显示。若要显示多行文本,请指定字符向量单元格数组TOR或字符串数组。数组中的每个元素都成为单独的文本行。如果将此属性指定为分类数组,则MATLAB使用数组中的值,而不是整个类别集。

上下文菜单,指定为上下文菜单使用uicontextmenu作用使用此属性在组件上单击鼠标右键时显示关联菜单。

回调

全部展开

菜单选择的回调,指定为以下值之一:

  • 函数句柄。

  • 第一个元素是函数句柄的单元格数组。单元格数组中的后续元素是传递给回调函数的参数。

  • 包含有效MATLAB表达式的字符向量(不推荐)。MATLAB在基本工作空间中计算此表达式。

回调响应取决于菜单项的位置和交互类型:

  • 左键单击菜单可展开该菜单并触发其回调。

  • 展开任何菜单时,悬停任何其他父菜单(或顶级菜单)将展开该菜单并触发其回调。

笔记

不要使用回调动态更改菜单项。删除、添加和替换回调中的菜单项可能会导致出现空白菜单。相反,使用看得见的属性隐藏或显示菜单项。您还可以通过设置使可能所有物要完全重新填充菜单项,请在回调外部删除并创建它们。

有关编写回调的更多信息,请参阅在应用程序设计器中编写回调.

对象创建函数,指定为以下值之一:

  • 函数句柄。

  • 第一个元素是函数句柄的单元格数组。单元格数组中的后续元素是传递给回调函数的参数。

  • 包含有效MATLAB表达式的字符向量(不推荐)。MATLAB在基本工作空间中计算此表达式。

有关将回调指定为函数句柄、单元格数组或字符向量的详细信息,请参见在应用程序设计器中编写回调.

此属性指定MATLAB创建对象时要执行的回调函数。MATLAB在执行创建FCN回调。如果未指定创建FCN属性,然后MATLAB执行默认的创建函数。

设定创建FCN现有组件上的属性无效。

如果将此属性指定为函数句柄或单元格数组,则可以访问使用回调函数的第一个参数创建的对象。否则,请使用gcbo函数来访问对象。

对象删除函数,指定为以下值之一:

  • 函数句柄。

  • 第一个元素是函数句柄的单元格数组。单元格数组中的后续元素是传递给回调函数的参数。

  • 包含有效MATLAB表达式的字符向量(不推荐)。MATLAB在基本工作空间中计算此表达式。

有关将回调指定为函数句柄、单元格数组或字符向量的详细信息,请参见在应用程序设计器中编写回调.

此属性指定MATLAB删除对象时要执行的回调函数。MATLAB执行删除FCN在销毁对象属性之前进行回调。如果未指定删除FCN属性,然后MATLAB执行默认的删除函数。

如果将此属性指定为函数句柄或单元格数组,则可以使用回调函数的第一个参数访问要删除的对象。否则,请使用gcbo函数来访问对象。

回调执行控制

全部展开

回调中断,指定为“开”“关”,或作为数字或逻辑1.(符合事实的)或0(错误的).价值“开”相当于符合事实的“关”相当于错误的. 因此,可以将此属性的值用作逻辑值。该值存储为类型为的开/关逻辑值matlab.lang.OnOffSwitchState.

此属性确定是否可以中断正在运行的回调。有两种回调状态需要考虑:

  • 这个跑步callback是当前正在执行的回调。

  • 这个打断callback是试图中断正在运行的回调的回调。

每当MATLAB调用回调时,该回调都会尝试中断正在运行的回调(如果存在)。这个打断拥有运行回调的对象的属性确定是否允许中断。

  • 价值“开”允许其他回调中断对象的回调。中断发生在MATLAB处理队列的下一个点上,例如当存在刷新屏幕,图形,uifigure,getframe,等待暂停命令

    • 如果正在运行的回调包含这些命令中的一个,那么MATLAB将在该点停止回调的执行,并执行中断回调。当中断回调完成时,MATLAB恢复执行正在运行的回调。

    • 如果正在运行的回调不包含这些命令中的任何一个,那么MATLAB将在不中断的情况下完成回调的执行。

  • 价值“关”阻止所有中断尝试。这个巴士行动拥有中断回调的对象的属性确定中断回调是被丢弃还是放入队列。

笔记

回调中断和执行在以下情况下表现不同:

  • 如果中断回调是删除FCN,关闭请求FCNSizeChangedFcn回调,则中断发生,而不考虑打断属性值。

  • 如果正在运行的回调当前正在执行等待函数,则无论打断属性值。

  • 计时器对象根据计划执行,而不考虑打断属性值。

发生中断时,MATLAB不会保存属性或显示的状态。例如,由gcagcf当执行另一个回调时,命令可能会更改。

回调队列,指定为“队列”“取消”这个巴士行动属性确定MATLAB如何处理中断回调的执行。有两种回调状态需要考虑:

  • 这个跑步callback是当前正在执行的回调。

  • 这个打断callback是试图中断正在运行的回调的回调。

每当MATLAB调用回调时,该回调都会尝试中断正在运行的回调。这个打断拥有运行回调的对象的属性确定是否允许中断。如果不允许中断,则巴士行动拥有中断回调的对象的属性确定它是被丢弃还是放入队列。这些是巴士行动财产:

  • “队列”-在正在运行的回调完成执行后,将中断回调放入要处理的队列中。

  • “取消”-不执行中断回调。

此属性是只读的。

删除状态,作为类型为的开/关逻辑值返回matlab.lang.OnOffSwitchState.

MATLAB设置被删除财产“开”删除FCN回调开始执行。这个被删除属性仍设置为“开”直到组件对象不再存在。

检查被删除属性,以验证在查询或修改对象之前不会删除该对象。

父母/子女

全部展开

父对象,指定为图形使用uifigure功能,另一个菜单对象,或上下文菜单对象。您可以将菜单项移动到其他窗口,或通过设置此属性将其移动到其他菜单下。请将父项指定为现有项菜单对象将菜单项添加到菜单或嵌套菜单项。

菜单子项,返回为空图形支架或者是一个一维数组菜单物体。

不能使用添加或删除子组件儿童属性。使用此属性可查看子菜单项列表或对子菜单项重新排序。

要将子菜单添加到此列表,请设置父母亲他人财产菜单反对菜单对象

对象句柄的可见性,指定为“开”,“回调”“关”.

此属性控制对象在其父对象的子对象列表中的可见性。当对象在其父对象的子对象列表中不可见时,通过搜索对象层次结构或查询属性获取对象的函数不会返回该对象。这些功能包括收到,芬多布吉,clf. 对象即使不可见也有效。如果可以访问对象,则可以设置并获取其属性,并将其传递给对对象进行操作的任何函数。

可处理性值 描述
“开” 对象始终可见。
“回调” 该对象在回调或回调调用的函数中可见,但在从命令行调用的函数中不可见。此选项阻止在命令行访问对象,但允许回调函数访问它。
“关” 该对象始终不可见。此选项有助于防止其他函数对UI进行意外更改。设定可操作性“关”在执行该函数期间临时隐藏对象。

标识符

全部展开

此属性是只读的。

图形对象的类型,返回为“uimenu”.

对象标识符,指定为字符向量或字符串标量。您可以指定唯一的标签值作为对象的标识符。当您需要访问代码中其他地方的对象时,可以使用芬多布吉函数以基于标签价值

用户数据,指定为任何MATLAB数组。例如,可以指定标量、向量、矩阵、单元数组、字符数组、表或结构。使用此属性可在对象上存储任意数据。

如果您在应用程序设计器中工作,请在应用程序中创建公共或私有属性以共享数据,而不是使用用户数据属性。有关详细信息,请参阅在应用程序设计器应用程序中共享数据.

在R2017b中引入