文档帮助中心文档
回调
快捷菜单
可见
位置
控制上下文菜单的外观和行为
出现一个上下文菜单是一个菜单,当你右键单击一个图形对象或UI组件。使用uicontextmenu函数创建一个上下文菜单和设置属性。通过改变属性值,您可以修改一个上下文菜单的外观和行为。使用点符号来引用一个特定的上下文菜单对象和属性。你可以父上下文菜单图创建的uifigure或图函数。
uicontextmenu
uifigure
图
无花果= uifigure;厘米= uicontextmenu(图);m = uimenu(厘米,“文本”,“去文件”);fig.ContextMenu =厘米;
全部展开
ContextMenuOpeningFcn
”
上下文菜单打开回调函数,指定这些值之一:
一个处理函数。
细胞数组中第一个元素是一个函数处理。后续单元阵列中的元素传递给回调函数的参数。
一个包含一个有效的MATLAB的特征向量®表达式(不推荐)。MATLAB计算表达式的基本工作空间。
更多信息关于指定一个回调函数处理属性值,单元阵列,或字符向量,不见了指定一个回调函数。
CreateFcn
对象创建函数,指定这些值之一:
函数处理。
特征向量包含一个有效的MATLAB表达式(不推荐)。MATLAB计算表达式的基本工作空间。
更多信息关于指定一个回调函数处理,细胞数组,或字符向量,明白了写回调程序设计师。
这个属性指定一个回调函数执行时MATLAB创建对象。MATLAB之前执行初始化所有的属性值CreateFcn回调。如果你不指定CreateFcn属性,然后MATLAB执行默认创建函数。
设置CreateFcn属性在一个现有的组件没有影响。
如果指定这个属性作为处理函数或细胞数组,您可以访问的对象被创建使用回调函数的第一个参数。否则,使用gcbo函数来访问该对象。
gcbo
DeleteFcn
对象删除函数,指定这些值之一:
这个属性指定一个回调函数执行时MATLAB删除对象。MATLAB执行DeleteFcn回调之前破坏对象的属性。如果你不指定DeleteFcn属性,然后MATLAB默认执行删除功能。
如果指定这个属性作为处理函数或细胞数组,您可以访问的对象被删除使用回调函数的第一个参数。否则,使用gcbo函数来访问该对象。
可中断
“上”
回调中断,指定为“上”或“关闭”或数字或逻辑1(真正的)或0(假)。的值“上”相当于真正的,“关闭”相当于假。因此,您可以使用这个属性的值作为一个逻辑值。存储的值是作为一个开/关逻辑值的类型matlab.lang.OnOffSwitchState。
“关闭”
1
真正的
0
假
matlab.lang.OnOffSwitchState
这个属性决定了如果一个回调可以运行中断。有两种回调状态考虑:
的运行回调是当前执行的回调。
的打断回调是一个回调,试图中断正在运行的回调。
MATLAB决定调中断行为每当它执行一个命令队列处理回调。这些命令包括drawnow,图,uifigure,getframe,等待,暂停。
drawnow
getframe
等待
暂停
如果调不包含运行这些命令,然后没有中断发生。MATLAB首先完成执行运行回调,后来执行中断的回调。
如果跑回调也包含其中的一个命令,然后可中断对象的属性拥有运行调决定如果中断发生时:
如果该值的可中断是“关闭”,然后没有中断发生。相反,BusyAction对象的属性拥有打断调决定如果打断回调被丢弃或添加到队列的回调。
BusyAction
如果该值的可中断是“上”,然后中断发生。下次MATLAB处理回调队列,它停止运行的执行回调并执行中断的回调。打断调完成后,MATLAB简历执行回调。
请注意
回调中断和执行不同的行为在这些情况下:
如果中断的回调DeleteFcn,CloseRequestFcn,或SizeChangedFcn回调,那么无论发生中断可中断属性值。
CloseRequestFcn
SizeChangedFcn
如果运行目前执行的回调等待函数,那么无论发生中断可中断属性值。
如果回调是由一个中断计时器对象,然后根据时间表不管回调执行可中断属性值。
计时器
当一个中断发生,MATLAB不保存属性或状态的显示。例如,返回的对象gca或gcf执行命令时可能会改变另一个回调。
gca
gcf
“队列”
“取消”
回调排队,指定为“队列”或“取消”。的BusyAction属性决定了MATLAB如何处理中断的执行回调。有两种回调状态考虑:
的BusyAction属性决定了回调排队行为只有满足这两个条件:
处理回调的运行调包含一个命令队列,等drawnow,图,uifigure,getframe,等待,或暂停。
的值可中断对象的属性拥有运行回调“关闭”。
在这种情况下,BusyAction对象的属性拥有打断调决定MATLAB如何处理中断的回调。这些都是可能的值的BusyAction属性:
“队列”——将中断处理回调在一个队列跑回调结束后执行。
“取消”——不执行中断回调。
BeingDeleted
这个属性是只读的。
删除状态,作为一个开/关返回逻辑值的类型matlab.lang.OnOffSwitchState。
MATLAB设置BeingDeleted财产“上”当DeleteFcn回调函数开始执行。的BeingDeleted房地产仍将“上”直到组件对象已不复存在。
检查的价值BeingDeleted属性来验证对象不会被删除之前查询或修改它。
父
父对象,指定为一个图对象创建的uifigure或图函数。如果父母没有指定图,然后MATLAB调用图函数来创建一个作为父母。
你可以移动快捷菜单对象到另一个图通过将这个属性设置为目标图对象。
孩子们
GraphicsPlaceholder
菜单
上下文菜单的孩子,作为一个空返回GraphicsPlaceholder或一个向量菜单对象。
你不能添加或删除儿童使用孩子们财产。使用这个属性来查看孩子的列表或重新排序子菜单项。孩子们在这个数组的顺序反映了倒序的菜单项出现在打开上下文菜单。
例如,这个代码创建了三个上下文菜单。当你打开上下文菜单中运行的应用程序,Menu1作为第一个菜单选项出现。
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属性设置为“关闭”没有列出的吗孩子们财产。
HandleVisibility
添加一个孩子这个列表,设置父属性的另一个菜单反对这快捷菜单对象。
“回调”
指定的对象处理,可见性“上”,“回调”,或“关闭”。
这个属性控制对象的可见性在其父母的孩子。当一个对象不可见的父母的孩子,它不是由函数返回获取对象通过搜索对象层次结构或查询属性。这些功能包括得到,findobj,gca,gcf,gco,newplot,班,clf,关闭。的HandleVisibility财产也控制对象的可见性的处理在父图的CurrentObject财产。对象是有效的,即使他们是不可见的。如果您可以访问一个对象,你可以设置它的属性,并将其传递给任何函数来操作对象。
得到
findobj
gco
newplot
班
clf
关闭
CurrentObject
类型
“uicontextmenu”
类型的图形对象,返回“uicontextmenu”。
标签
对象标识符指定为一个特征向量或字符串标量。您可以指定一个唯一的标签价值作为一个对象的标识符。当你需要访问对象在您的代码,您可以使用findobj基于函数搜索对象标签价值。
用户数据
[]
用户数据,指定为数组。指定用户数据可能是有用的在应用程序中共享数据。看到回调函数之间共享数据为更多的信息。
不推荐在R2020a开始
从R2020a,使用回调财产的快捷菜单不推荐对象。使用ContextMenuOpeningFcn财产的快捷菜单对象。属性值是相同的。
没有计划将支持金宝app回调的属性快捷菜单对象。然而,这个属性不再出现在列表中通过调用返回得到函数在一个快捷菜单对象。
从R2020a,使用可见和位置属性来配置一个上下文菜单打开不推荐在一个特定的位置。在应用程序的创建uifigure功能,使用开放函数来代替。
开放
没有计划将支持金宝app可见和位置的属性快捷菜单对象。然而,这些属性不再出现在列表中通过调用返回得到函数在一个快捷菜单对象。
uimenu|uicontextmenu|开放
uimenu
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
选择一个网站翻译内容,看到当地事件和提供。根据你的位置,我们建议您选择:。
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。
联系你当地的办公室