主要内容

快捷菜单的属性

控制上下文菜单的外观和行为

出现一个上下文菜单是一个菜单,当你右键单击一个图形对象或UI组件。使用uicontextmenu函数创建一个上下文菜单和设置属性。通过改变属性值,您可以修改一个上下文菜单的外观和行为。使用点符号来引用一个特定的上下文菜单对象和属性。你可以父上下文菜单图创建的uifigure函数。

无花果= uifigure;厘米= uicontextmenu(图);m = uimenu(厘米,“文本”,“去文件”);fig.ContextMenu =厘米;

回调

全部展开

上下文菜单打开回调函数,指定这些值之一:

  • 一个处理函数。

  • 细胞数组中第一个元素是一个函数处理。后续单元阵列中的元素传递给回调函数的参数。

  • 一个包含一个有效的MATLAB的特征向量®表达式(不推荐)。MATLAB计算表达式的基本工作空间。

更多信息关于指定一个回调函数处理属性值,单元阵列,或字符向量,不见了指定一个回调函数

对象创建函数,指定这些值之一:

  • 函数处理。

  • 细胞数组中第一个元素是一个函数处理。后续单元阵列中的元素传递给回调函数的参数。

  • 特征向量包含一个有效的MATLAB表达式(不推荐)。MATLAB计算表达式的基本工作空间。

更多信息关于指定一个回调函数处理,细胞数组,或字符向量,明白了回调程序设计师

这个属性指定一个回调函数执行时MATLAB创建对象。MATLAB之前执行初始化所有的属性值CreateFcn回调。如果你不指定CreateFcn属性,然后MATLAB执行默认创建函数。

设置CreateFcn属性在一个现有的组件没有影响。

如果指定这个属性作为处理函数或细胞数组,您可以访问的对象被创建使用回调函数的第一个参数。否则,使用gcbo函数来访问该对象。

对象删除函数,指定这些值之一:

  • 函数处理。

  • 细胞数组中第一个元素是一个函数处理。后续单元阵列中的元素传递给回调函数的参数。

  • 特征向量包含一个有效的MATLAB表达式(不推荐)。MATLAB计算表达式的基本工作空间。

更多信息关于指定一个回调函数处理,细胞数组,或字符向量,明白了回调程序设计师

这个属性指定一个回调函数执行时MATLAB删除对象。MATLAB执行DeleteFcn回调之前破坏对象的属性。如果你不指定DeleteFcn属性,然后MATLAB默认执行删除功能。

如果指定这个属性作为处理函数或细胞数组,您可以访问的对象被删除使用回调函数的第一个参数。否则,使用gcbo函数来访问该对象。

回调执行控制

全部展开

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

这个属性决定了如果一个回调可以运行中断。有两种回调状态考虑:

  • 运行回调是当前执行的回调。

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

MATLAB决定调中断行为每当它执行一个命令队列处理回调。这些命令包括drawnow,,uifigure,getframe,等待,暂停

如果调不包含运行这些命令,然后没有中断发生。MATLAB首先完成执行运行回调,后来执行中断的回调。

如果跑回调也包含其中的一个命令,然后可中断对象的属性拥有运行调决定如果中断发生时:

  • 如果该值的可中断“关闭”,然后没有中断发生。相反,BusyAction对象的属性拥有打断调决定如果打断回调被丢弃或添加到队列的回调。

  • 如果该值的可中断“上”,然后中断发生。下次MATLAB处理回调队列,它停止运行的执行回调并执行中断的回调。打断调完成后,MATLAB简历执行回调。

请注意

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

  • 如果中断的回调DeleteFcn,CloseRequestFcn,或SizeChangedFcn回调,那么无论发生中断可中断属性值。

  • 如果运行目前执行的回调等待函数,那么无论发生中断可中断属性值。

  • 如果回调是由一个中断计时器对象,然后根据时间表不管回调执行可中断属性值。

请注意

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

回调排队,指定为“队列”“取消”。的BusyAction属性决定了MATLAB如何处理中断的执行回调。有两种回调状态考虑:

  • 运行回调是当前执行的回调。

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

BusyAction属性决定了回调排队行为只有满足这两个条件:

在这种情况下,BusyAction对象的属性拥有打断调决定MATLAB如何处理中断的回调。这些都是可能的值的BusyAction属性:

  • “队列”——将中断处理回调在一个队列跑回调结束后执行。

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

这个属性是只读的。

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

MATLAB设置BeingDeleted财产“上”DeleteFcn回调函数开始执行。的BeingDeleted房地产仍将“上”直到组件对象已不复存在。

检查的价值BeingDeleted属性来验证对象不会被删除之前查询或修改它。

父/子

全部展开

父对象,指定为一个对象创建的uifigure函数。如果父母没有指定图,然后MATLAB调用函数来创建一个作为父母。

你可以移动快捷菜单对象到另一个图通过将这个属性设置为目标对象。

上下文菜单的孩子,作为一个空返回GraphicsPlaceholder或一个向量菜单对象。

你不能添加或删除儿童使用孩子们财产。使用这个属性来查看孩子的列表或重新排序子菜单项。孩子们在这个数组的顺序反映了倒序的菜单项出现在打开上下文菜单。

例如,这个代码创建了三个上下文菜单。当你打开上下文菜单中运行的应用程序,Menu1作为第一个菜单选项出现。

无花果= uifigure;厘米= uicontextmenu(图);m1 = uimenu(厘米,“文本”,“Menu1”);m2 = uimenu(厘米,“文本”,“Menu2”);m3 = uimenu(厘米,“文本”,“Menu3”);fig.ContextMenu =厘米;
上下文菜单中有三个菜单项。

cm.Children返回一个列表的菜单项在相反的顺序。

cm.Children
ans = 3×1菜单数组:菜单(Menu3)菜单(Menu2)菜单(Menu1)

的对象HandleVisibility属性设置为“关闭”没有列出的吗孩子们财产。

添加一个孩子这个列表,设置属性的另一个菜单反对这快捷菜单对象。

指定的对象处理,可见性“上”,“回调”,或“关闭”

这个属性控制对象的可见性在其父母的孩子。当一个对象不可见的父母的孩子,它不是由函数返回获取对象通过搜索对象层次结构或查询属性。这些功能包括得到,findobj,gca,gcf,gco,newplot,,clf,关闭。的HandleVisibility财产也控制对象的可见性的处理在父图的CurrentObject财产。对象是有效的,即使他们是不可见的。如果您可以访问一个对象,你可以设置它的属性,并将其传递给任何函数来操作对象。

HandleVisibility价值 描述
“上” 对象句柄总是可见的。
“回调” 从内部处理的对象是可见的回调函数或函数调用回调,但不是在从命令行调用的函数。这个选项块访问对象在命令行,但是允许回调函数来访问它。
“关闭” 对象句柄是无形的。这个选项是有用的防止意外更改UI被另一个函数。设置HandleVisibility“关闭”暂时隐藏处理在这个函数的执行。

标识符

全部展开

这个属性是只读的。

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

对象标识符指定为一个特征向量或字符串标量。您可以指定一个唯一的标签价值作为一个对象的标识符。当你需要访问对象在您的代码,您可以使用findobj基于函数搜索对象标签价值。

用户数据,指定为数组。指定用户数据可能是有用的在应用程序中共享数据。看到回调函数之间共享数据为更多的信息。

版本历史

之前介绍过的R2006a

全部展开

另请参阅

||