主要内容

菜单属性

控件菜单外观和行为图形的应用程序

此处列出的属性对于指南中的菜单或使用创建的应用程序有效图形函数。如果您使用的是App Designer或uifigure函数,请参见菜单属性代替。有关更多信息,请参见指导迁移策略

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

f =图;m = uimenu (f);m.Text = '打开选区';

菜单

全部展开

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

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

你可以指定一个助记键盘快捷键(Alt +助记符),方法是在标签文本中使用&字符。“&”后的字符在菜单中以下划线显示Alt被按下。的,可以选择菜单项Alt键并键入显示的字符。

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

表格显示了一些例子:

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

“O笔选择(&P)”

并保存& &去的

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

例子:mitem.Accelerator='H'

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

  • 窗户®系统:Ctrl +加速器

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

  • Linux®系统:Ctrl +加速器

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

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

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

  • 只有当菜单项满足所有这些条件时,加速器才能工作。

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

    • 它执行一个回调函数。

    • 它有可见属性设置为“上”

如果菜单项嵌套在上下文菜单中,那么加速器只有在上下文菜单处于焦点时才会工作。

分隔线在菜单项上方,指定为“关闭”“上”,或作为数字或逻辑1真正的)或0).的值“上”相当于真正的,“关闭”相当于.因此,可以将此属性的值用作逻辑值。该值存储为开启/关闭类型的逻辑值matlab.lang.OnOffSwitchState

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

请注意

分隔符属性在菜单项是顶级菜单项时被忽略。

菜单检查指示器,指定为“关闭”“上”,或作为数字或逻辑1真正的)或0).的值“上”相当于真正的,“关闭”相当于.因此,可以将此属性的值用作逻辑值。该值存储为开启/关闭类型的逻辑值matlab.lang.OnOffSwitchState

将此属性设置为“上”在相应的菜单项旁边打勾。设置它“关闭”移除复选标记。您可以使用此特性来显示应用程序中启用或禁用功能的菜单项的状态。

请注意

检查当菜单项为:

  • 顶级菜单项

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

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

RGB三联体和十六进制颜色代码在指定自定义颜色时很有用。

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

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

或者,您可以通过名称指定一些常见的颜色。该表列出了已命名的颜色选项、等价的RGB三联体和十六进制颜色代码。

颜色名称 短名称 RGB值 十六进制颜色代码 外观
“红色” “r” (1 0 0) “# FF0000”

“绿色” “g” (0 1 0) “# 00 ff00”

“蓝” “b” (0 0 1) “# 0000 ff”

“青色” “c” (0 1 1) “#00FFFF”

“红色” “米” (1 0 1) “#FF00FF”

“黄色” “y” (1 1 0) “# FFFF00”

“黑色” “k” (0 0 0) # 000000的

“白色” ' w ' (1 1 1) “# FFFFFF”

这里是RGB三联体和十六进制颜色代码的默认颜色MATLAB®用于多种类型的绘图。

RGB值 十六进制颜色代码 外观
[0 0.4470 - 0.7410) “# 0072 bd”

(0.8500 0.3250 0.0980) “# D95319”

(0.9290 0.6940 0.1250) “# EDB120”

(0.4940 0.1840 0.5560) “# 7 e2f8e”

(0.4660 0.6740 0.1880) “# 77 ac30”

(0.3010 0.7450 0.9330) “# 4 dbeee”

(0.6350 0.0780 0.1840) “# A2142F”

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

请注意

的使用标签不建议使用属性。它可能在将来的版本中被删除。使用the文本财产。

相对菜单位置,指定为标量整数值。的值位置属性指示在菜单栏上或菜单内的位置。顶级菜单根据其值从左到右出现在菜单栏上位置财产,连同1表示最左边的位置。给定菜单中的各个项根据它们的值从上到下显示位置财产,连同1代表最高的位置。

请注意

的使用位置属性不推荐使用。它可能会在未来的版本中被删除。要更改菜单项的顺序,请使用孩子们财产或乌斯塔克函数来代替。

交互性

全部展开

可见性状态,指定为“上”“关闭”,或作为数字或逻辑1真正的)或0).的值“上”相当于真正的,“关闭”相当于.因此,可以将此属性的值用作逻辑值。该值存储为开启/关闭类型的逻辑值matlab.lang.OnOffSwitchState

  • “上”—显示对象。

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

要使你的应用程序启动得更快,请设置可见财产“关闭”对于所有不需要在启动时出现的UI组件。

操作状态,指定为“上”“关闭”,或作为数字或逻辑1真正的)或0).的值“上”相当于真正的,“关闭”相当于.因此,可以将此属性的值用作逻辑值。该值存储为开启/关闭类型的逻辑值matlab.lang.OnOffSwitchState

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

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

设置此属性对该类型的对象没有影响。

回调

全部展开

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

  • 函数句柄。

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

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

有关将回调属性值指定为函数句柄、单元格数组或字符向量的详细信息,请参见如何指定回调属性值

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

  • 左键单击菜单会展开该菜单并触发它的回调。

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

请注意

不要使用回调动态更改菜单项。删除、添加和替换回调中的菜单项可能会导致出现空白菜单。相反,使用可见属性隐藏或显示菜单项。属性也可以启用和禁用菜单项使可能财产。要完全重新填充菜单项,请在回调之外删除并创建它们。

组件创建函数,指定为以下值之一:

  • 函数句柄。

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

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

有关将回调属性值指定为函数句柄、单元格数组或字符向量的详细信息,请参见如何指定回调属性值

此属性指定MATLAB创建组件时执行的回调函数。方法之前,MATLAB初始化所有组件属性值CreateFcn回调。如果不指定CreateFcn属性,然后MATLAB执行一个默认创建函数。

使用gcbo函数在你CreateFcn获取正在创建的组件对象的代码。

设定CreateFcn属性对现有组件对象不起作用。

组件删除函数,指定为以下值之一:

  • 函数句柄。

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

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

有关将回调属性值指定为函数句柄、单元格数组或字符向量的详细信息,请参见如何指定回调属性值

DeleteFcn属性指定当MATLAB删除组件时执行的回调函数(例如,当用户关闭窗口时)。MATLAB执行DeleteFcn在销毁组件对象的属性之前回调。如果不指定DeleteFcn属性,然后MATLAB执行一个默认删除函数。

使用gcbo函数在你DeleteFcn获取要删除的组件对象的代码。

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

  • 函数句柄。

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

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

请注意

的使用回调不建议使用属性。它可能在将来的版本中被删除。使用MenuSelectedFcn代替。

回调执行控制

全部展开

回调中断,指定为“上”“关闭”,或作为数字或逻辑1真正的)或0).的值“上”相当于真正的,“关闭”相当于.因此,可以将此属性的值用作逻辑值。该值存储为开启/关闭类型的逻辑值matlab.lang.OnOffSwitchState

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

  • 运行callback是当前正在执行的回调。

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

每当MATLAB调用回调时,该回调尝试中断正在运行的回调(如果存在的话)。的可中断拥有正在运行的回调的对象的属性决定是否允许中断:

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

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

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

  • 的值“关闭”阻止所有中断尝试。的BusyAction拥有中断回调的对象的属性决定中断回调是否被丢弃或放入队列中。

请注意

在这些情况下,回调中断和执行的行为是不同的:

  • 如果中断回调为DeleteFcn关闭请求FCNSizeChangedFcn回调,则中断发生不管可中断属性值。

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

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

  • 当中断发生时,MATLAB不保存属性或显示的状态。方法返回的对象gcagcf命令可能在执行另一个回调时更改。

看到中断执行回调举个例子来说明可中断BusyAction属性影响程序的行为。

指定为“队列”(默认)或“取消”.的BusyAction属性决定了MATLAB如何处理中断回调的执行。有两种回调状态需要考虑:

  • 运行callback是当前正在执行的回调。

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

BusyAction中断回调源的属性决定了MATLAB如何处理它的执行。的BusyAction属性具有以下值:

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

  • “取消”—不要执行中断回呼。

每当MATLAB调用回调时,该回调总是试图中断正在执行的回调。的可中断正在运行回调的对象的属性确定是否允许中断。如果可中断设置为:

  • -中断发生在MATLAB处理队列的下一个点。这是默认设置。

  • -BusyAction属性(拥有中断回调的对象的属性)确定MATLAB是排队还是忽略中断回调。

看到中断执行回调举个例子来说明BusyAction可中断属性影响程序的行为。

此属性是只读的。

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

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

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

此属性对该类型的对象不起作用。

父母/子女

全部展开

此属性是只读的。

父对象,指定为图形上下文菜单,或者一个菜单对象。通过设置此属性,可以将菜单项移动到不同的窗口,或将其移动到不同的菜单下。

菜单子项,返回为空GraphicsPlaceholder或者是一个一维数组菜单对象。菜单的子菜单是作为子菜单的其他菜单。

属性添加或删除子节点孩子们财产。使用此属性可查看子菜单项列表或对子菜单项重新排序。这个数组中的子元素的顺序反映了显示的菜单项的顺序。

要将子项添加到此列表,请设置父母亲属性的子组件菜单对象。

的对象可操作性属性设置为“关闭”没有列在孩子们财产。

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

此属性控制对象句柄在其父对象的子对象列表中的可见性。如果句柄在其父级的子级列表中不可见,则通过搜索对象层次结构或查询句柄属性获取句柄的函数不会返回该句柄。这些功能包括得到findobjgcagcfgconewplotclf,关闭.的可操作性属性还控制父图形中对象句柄的可见性CurrentObject所有物即使句柄不可见,它们仍然有效。如果可以访问对象,则可以设置并获取其属性,并将其传递给对对象进行操作的任何函数。

可处理性值 描述
“上” 对象句柄总是可见的。
“回调” 对象句柄在回调或由回调调用的函数中可见,但在从命令行调用的函数中不可见。这个选项阻止在命令行中访问对象,但允许回调函数访问它。
“关闭” 对象句柄在任何时候都不可见。这个选项对于防止其他函数对UI的意外更改非常有用。设置可操作性“关闭”在执行该函数期间临时隐藏句柄。

设置图形根目录ShowHiddenHandles财产“上”使所有句柄可见,而不管它们的可操作性价值此设置不会影响其性能可操作性价值观

标识符

全部展开

此属性是只读的。

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

对象标识符,指定为字符向量或字符串标量。你可以指定一个唯一的标签值作为对象的标识符。当您需要访问代码中其他地方的对象时,可以使用findobj函数搜索对象标签价值

用户数据,指定为任意数组。指定用户数据可以在应用程序中共享数据。看到在回调之间共享数据了解更多信息。

另请参阅

之前介绍过的R2006a