主要内容

uicontextmenu

创建上下文菜单组件

描述

厘米= uicontextmenu在当前图中创建上下文菜单并返回快捷菜单对象。如果一个图不存在,那么MATLAB®调用数字函数来创建一个。

要在图中打开上下文菜单,还必须执行以下步骤:

  • 将上下文菜单分配给同一图中的UI组件或图形对象。

  • 至少创建一个子节点菜单对象在上下文菜单中。

例子

厘米= uicontextmenu (在指定的父图中创建上下文菜单。方法创建的图形可以是父图形uifigure数字函数。

例子

厘米= uicontextmenu (___名称,值创建使用一个或多个名称-值参数指定属性值的上下文菜单。使用前一种语法指定名称-值参数。

例子

全部折叠

在UI图中创建包含两个菜单项的上下文菜单。属性将上下文菜单分配给图本身快捷菜单属性的快捷菜单对象。要查看上下文菜单,右键单击图窗口中的任何位置。

无花果= uifigure;厘米= uicontextmenu(图);m1 = uimenu(厘米,“文本”“Menu1”);m2 = uimenu(厘米,“文本”“Menu2”);fig.ContextMenu =厘米;

有两个选项的上下文菜单:

创建一个带有按钮的UI图。然后,在图中创建一个包含两个菜单项的上下文菜单,并将上下文菜单分配给按钮。要查看上下文菜单,右键单击该按钮。

无花果= uifigure;btn = uibutton(图);厘米= uicontextmenu(图);m1 = uimenu(厘米,“文本””选项1”);m2 = uimenu(厘米,“文本””选项2”);btn。快捷菜单=厘米;

有两个选项的按钮的上下文菜单:“选项1”和“选项2”

为树组件创建上下文菜单。将上下文菜单分配给树中的所有顶级节点。

在当前文件夹中的新脚本中,创建一个UI图。然后,创建一个具有四个顶级节点和一组嵌套节点的树。

无花果= uifigure;t = uitree(图,“位置”,[20 200 175 100]);category1 = uitreenode (t)“文本”“跑步者”);r1 = uitreenode (category1,“文本”“乔”);r2 = uitreenode (category1,“文本”“琳达”);category2 = uitreenode (t)“文本”“自行车”);c1 = uitreenode (category2“文本”“Rajeev”);category3 = uitreenode (t)“文本”“旅行者”);h1 = uitreenode (category3,“文本”“杰克”);category4 = uitreenode (t)“文本”“游泳”);s1 = uitreenode (category4,“文本”“洛根”);

具有四个折叠顶层节点的树

创建具有一个菜单项和两个子菜单的上下文菜单,用户可以单击它们展开单个树节点或所有树节点。对于每个子菜单,指定aMenuSelectedFcn当用户选择菜单选项时执行的回调函数。将相关的app对象作为输入传递给每个函数,以便从回调函数内部访问app数据。

厘米= uicontextmenu(图);m1 = uimenu(厘米,“文本”“扩大……”);sbm1 = uimenu (m1,“文本”“这个节点”...“MenuSelectedFcn”, {@expandSingle,无花果});sbm2 = uimenu (m1,“文本”“所有节点”...“MenuSelectedFcn”, {@expandAll t});

将上下文菜单分配给顶级树节点快捷菜单属性的每个节点快捷菜单对象。

category1。快捷菜单=厘米;category2。快捷菜单=厘米;category3。快捷菜单=厘米;category4。快捷菜单=厘米;

在文件的底部,定义expandSingle而且expandAll回调函数。定义函数来接受MATLAB传递给所有回调函数的源和事件数据。

定义expandSingle函数也接受包含树的UI图对象,并使用CurrentObject属性,以确定单击哪个树节点以弹出上下文菜单。然后,展开该节点。

定义expandAll函数也接受树对象,并展开树中的所有节点。

函数expandSingle(src,event,f) node = f. currentobject;扩大(节点)结束函数expandAll (src、事件、t)扩展(t)结束

保存并运行脚本。右键单击任何顶级树节点以查看上下文菜单。

与“bikes”节点相关联的上下文菜单。“展开”菜单选项被突出显示,有一个子菜单选项“这个节点”和“所有节点”。

创建一个上下文菜单,在每次打开命令窗口时打印一条消息。

在传统图形中创建线状图。然后,创建一个包含一个菜单项的上下文菜单,并将其分配给线形图。创建一个ContextMenuOpeningFcn每次上下文菜单打开时,在命令窗口中显示输出的回调函数。

f =图;p =情节(1:10);厘米= uicontextmenu (f);m = uimenu(厘米,“文本”“Menu1”);厘米。ContextMenuOpeningFcn = @ (src、事件)disp (“上下文菜单打开”);p.ContextMenu =厘米;

要查看上下文菜单,右键单击绘图线。当上下文菜单打开时,命令窗口也显示消息:上下文菜单打开

包含名为“menu u1”的菜单项的上下文菜单显示在情节线上。

输入参数

全部折叠

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

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。

在R2021a之前,名称和值之间用逗号隔开,并括起来的名字在报价。

例子:@myfunction uicontextmenu(“ContextMenuOpeningFcn”)指定myfunction当用户打开上下文菜单时执行的函数。

请注意

这里列出的属性只是一个子集。有关完整列表,请参见快捷菜单的属性

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

  • 一个处理函数。

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

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

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

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

方法无法添加或删除子节点孩子们财产。使用此属性可查看子菜单项列表或对子菜单项重新排序。该数组中子元素的顺序反映了菜单项在打开的上下文菜单中显示的相反顺序。

例如,这段代码创建了三个上下文菜单。当你打开正在运行的应用程序中的上下文菜单时,Menu1显示为第一个菜单选项。

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

厘米。孩子们以相反的顺序返回菜单项的列表。

厘米。孩子们
ans = 3×1菜单数组:Menu (Menu3) Menu (Menu2) Menu (Menu1)

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

若要向此列表添加子对象,请设置属性的另一个菜单反对这快捷菜单对象。

提示

  • 要在运行中的应用程序中交互式地显示上下文菜单,它必须:

    • 至少有一个菜单项目。

    • 可分配给同一图中的UI组件或图形对象。

  • 要以编程方式打开上下文菜单,请使用开放函数。控件创建的图的子菜单uifigure函数。方法创建的菜单项必须至少有一个菜单项才能显示上下文菜单uimenu函数。

版本历史

之前介绍过的R2006a

Baidu
map