用户界面菜单对象菜单对象和42用户界面菜单对象和上下文菜单
菜单对象Uime
u(也称下拉式菜单对象)能够使用户在运行应用程序时,从一批功能选项中浏览和选择某项功能。在MATLAB每一个窗口系统中都有一个主菜单栏,所有的主菜单都列在菜单栏上。菜单的标题或名字简单地描述了该菜单的功能。一个菜单项还可用自己的菜单项列表而作为子菜单。子菜单项在子菜单的标志右边显示小三角或箭头以表示菜单还有更多子菜单项可供选择。如果子菜单的菜单项被选择,另一个具有更多菜单项的菜单显示在此菜单的右边的下拉菜单中。有时这种菜单称之行走菜单。选中其中一个菜单项也引起某些动作的产生。子菜单可以嵌套,但层次的数目受到窗口系统及有用资源的限制。
421菜单对象的创建创建菜单对象有两种方式:一是基于函数命令的编程方式,二是基于GUI的方式。(1)基于函数命令的编程方式自制用户菜单对象,通过函数uime
uuime
u创建,可用于创建菜单uime
u对象(或称子菜单对象)和命令对象(或称菜单项)。菜单对象是指自身包含有下一级命令,功能是打开它的子项;而命令对象是指本身不再具有子菜单的功能选项,只对应于
f某种功能操作。二者区别在于:命令对象的Childre
属性值为空矩阵,而菜单对象的Childre
属性值为图形窗口句柄值或另一个菜单对象的句柄值。uime
u函数的调用格式为:uime
uuime
uPropertyName1value1PropertyName2value2…在当前图形窗口上部的菜单栏创建一个菜单对象,并返回一个句柄值;Hmuime
uh…以句柄h为父对象的句柄创建一个新
菜单,并返回该菜单的句柄值;该父对象必须是图形对象、菜单对象或上下文菜单对象。通过设定uime
uuime
u对象的属性值‘PropertyName,Valueuime
u这对命令定义了菜单特性。uime
u对象中最重要的属性是Label和Callback。uime
uLabel属性值是菜单条和下拉菜单项上的文本字符串,以确认菜单项。Callback属性值是MATLAB字符串,当选中菜单项时,它传给eval,用以执行。下面的例子用函数uime
uuime
u将简单菜单加到当前的图形窗口uime
u中。这里提出的例子说明如何只用几个MATLAB命令来建立工作菜单。后面的例子将详细地讨论uime
uuime
u的命令和属性。uime
u例1用两个下拉菜单将菜单条加到当前窗口中。1首先,建立名为Example的顶部菜单输入。Hm_exuime
ugcfLabelExample
f在此菜单下有两个菜单项。第一项标志为Grid,切换坐标轴网格的状态。
Hm_exgriduime
uHm_exLabelGridCallbackGrid注意,句柄Hm_ex是用于与上层菜单相关联的r