本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

uimenu

创建菜单或菜单项

说明

m = uimenu 在当前图窗中创建菜单,并返回 Menu 对象。如果没有可用的图窗,MATLAB® 将调用 figure 函数创建一个图窗。

示例

m = uimenu(Name,Value) 使用一个或多个名称-值对组参数指定菜单属性值。

m = uimenu(parent) 在指定的父容器中创建菜单。父容器可以是使用 figureuifigure 函数创建的图窗,也可以是另一个 Menu 对象。uimenu 的属性值略有不同,具体取决于该 App 是使用 figure 还是 uifigure 函数创建的。有关详细信息,请参阅名称-值对组参数

示例

m = uimenu(parent,Name,Value) 指定父容器和一个或多个属性值。

示例

全部折叠

创建一个显示默认菜单栏的图窗。添加一个菜单和一个菜单项。

f = figure('Toolbar','none');
m = uimenu('Text','Options');
mitem = uimenu(m,'Text','Reset');

将具有键盘快捷方式的菜单项添加到菜单栏,并定义选择该菜单项时执行的回调。

首先,创建一个名为 importmenu.m 的程序文件。在该程序文件中:

  • 创建一个图窗。

  • 添加一个名为 Import 的菜单。通过将 '&Import' 指定为文本标签,为菜单创建助记键键盘快捷方式。

  • 创建一个菜单项并指定助记键和快捷键键盘快捷方式。

  • 定义当用户点击菜单项或使用助记键或快捷键键盘快捷方式时执行的 MenuSelectedFcn 回调。

运行程序文件。

function importmenu
f = uifigure;
m = uimenu(f,'Text','&Import');
 
mitem = uimenu(m,'Text','&Text File');
mitem.Accelerator = 'T';
mitem.MenuSelectedFcn = @MenuSelected;
 
    function MenuSelected(src,event)
        file = uigetfile('*.txt');
    end
 
end

您可以使用键盘以下列方式与菜单和菜单项交互:

  • 通过按 Alt+I 选择 Import 菜单。

  • 选择 Text File 菜单项,并通过按 Alt+I+T 执行回调。

  • 选择 Text File 菜单项,并通过使用快捷键 Ctrl+T 执行回调。

当您选择 Text File 菜单项时,“选择要打开的文件”对话框打开,扩展名字段限定为文本文件。

创建一个选中菜单项,可以选中或清除该菜单项以在坐标区上显示网格。共享具有普通按钮的回调,这样按下该普通按钮也可以显示或隐藏网格。

首先,创建一个名为 plotOptions.m 的程序文件。在该程序文件中:

  • 创建一个图窗,其中包含一个普通按钮和用于显示网格的坐标区。

  • 添加一个菜单和一个具有助记键的菜单项。指定该菜单项已选中。

  • 定义一个 MenuSelectedFcn 回调,当用户与菜单项交互时该回调会隐藏或显示网格。

  • 定义一个 ButtonPushedFcn,它与该菜单项使用相同的回调函数。

运行程序文件。

function plotOptions
f = uifigure;
ax = uiaxes(f);
grid(ax);
btn = uibutton(f,'Text','Show Grid');
btn.Position = [155 325 100 20];

m = uimenu(f,'Text','&Plot Options');
mitem = uimenu(m,'Text','Show &Grid','Checked','on');
mitem.MenuSelectedFcn = @ShowGrid;
btn.ButtonPushedFcn = @ShowGrid;

    function ShowGrid(src,event)
        grid(ax);
        if strcmp(mitem.Checked,'on')
            mitem.Checked = 'off';
        else
            mitem.Checked = 'on';
        end
    end
end

输入参数

全部折叠

父容器,指定为使用 figureuifigure 函数创建的 Figure 对象,也可以是另一个 Menu 对象。如果未指定父容器,则 MATLAB 调用 figure 以创建一个父容器,并将菜单放在该图窗的菜单栏中。将父容器指定为一个现有 Menu 对象,以将菜单项添加到菜单,或者嵌套菜单项。

要将菜单项添加到 GUIDE 中的上下文菜单,或使用 figure 函数创建的图窗中的上下文菜单,请将父容器指定为 ContextMenu 对象。

名称-值对组参数

指定可选的、以逗号分隔的 Name,Value 对组参数。Name 为参数名称,Value 为对应的值。Name 必须放在引号中。您可采用任意顺序指定多个名称-值对组参数,如 Name1,Value1,...,NameN,ValueN 所示。

示例: m = uimenu('Text','Open') 创建菜单将其标签设置为 'Open'

  • 有关适用于 App 设计工具或用于与 uifigure 函数一起创建 App 的可用属性列表,请参阅 App 设计工具的 Menu 属性

  • 有关适用于 GUIDE 或用于与 figure 函数一起创建 App 的可用属性列表,请参阅 GUIDE 的 Menu 属性

在 R2006a 之前推出