MatlabGUI菜单设计_第1页
MatlabGUI菜单设计_第2页
MatlabGUI菜单设计_第3页
MatlabGUI菜单设计_第4页
MatlabGUI菜单设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 主主 讲讲 人:人: 章彩霞章彩霞指导教师:张桂芳老师指导教师:张桂芳老师1. 建立用户菜单建立用户菜单Hm=uimenu(Hp,属性名,属性名1,属性值,属性值1,属性,属性名名2,属性值,属性值2,)功能:功能:创建句柄值为创建句柄值为Hm的自定义的用户菜单。其中的自定义的用户菜单。其中Hp为为其父对象的句柄其父对象的句柄,属性名和属性值构成属性二元对,定义,属性名和属性值构成属性二元对,定义用户菜单的属性。用户菜单的属性。建立自定义的用户菜单的函数为建立自定义的用户菜单的函数为uimenu,格式为:,格式为: 子菜单项句柄子菜单项句柄=uimenu(一级菜单项句柄,属性一级菜单项句柄,

2、属性名名1,属性值,属性值1,属性名,属性名2,属性值,属性值2,)建立建立一级菜单项一级菜单项的函数调用格式为:的函数调用格式为:一级菜单项句柄一级菜单项句柄=uimenu(图形窗口句柄,属性图形窗口句柄,属性名名1,属性值,属性值1,属性名,属性名2,属性值,属性值2,)建立建立子菜单项子菜单项的函数调用格式为:的函数调用格式为: 因其调用方法不同,该函数可以用于建立一级菜因其调用方法不同,该函数可以用于建立一级菜单项和子菜单项。单项和子菜单项。例例1:自制的用户菜单:自制的用户菜单 自制一个带下拉菜单表的用户菜单该菜单能使图形自制一个带下拉菜单表的用户菜单该菜单能使图形窗背景颜色设置为兰

3、色或红色。窗背景颜色设置为兰色或红色。 figure %创建一个图形窗创建一个图形窗 h_menu=uimenu(gcf,label,Color); %制作用户顶层菜单制作用户顶层菜单 项项Color h_submenu1=uimenu(h_menu,label,Blue,. %制作下拉制作下拉 菜菜单项单项Blue callback,set(gcf,Color,blue); % h_submenu2=uimenu(h_menu,label,Red,. %制作下拉菜单制作下拉菜单Red callback,set(gcf,Color,red); %2 . 菜单对象常用属性菜单对象常用属性 菜单对

4、象除具有菜单对象除具有Children(子对象),(子对象),Parent(父对(父对象),象),Tag(标签),(标签),Type(类型),(类型),UserData(用户数(用户数据),据),Enable(使能)和(使能)和 Visible(可见性)等公共属性,(可见性)等公共属性,还有一些常用的特殊属性,如回调(还有一些常用的特殊属性,如回调(callback)属性和菜单)属性和菜单名名(label)。 另外,用户菜单的外观有四个属性:另外,用户菜单的外观有四个属性:Position(位置),(位置),Separator(分隔线),(分隔线),checked(检录符)和(检录符)和For

5、eGroundColor(前景颜色)。(前景颜色)。 Tag属性属性 Tag属性的取值是字符串,它定义了该菜单对象的一个属性的取值是字符串,它定义了该菜单对象的一个标识值。定义了标识值。定义了Tag属性后,在任何程序中都可以通过这个属性后,在任何程序中都可以通过这个标识值找出该菜单对象。标识值找出该菜单对象。 Type属性属性 Type属性的取值总是属性的取值总是uimenu,这个属性值标明图形对,这个属性值标明图形对象的类型。对菜单对象,其类型就是象的类型。对菜单对象,其类型就是uimenu,用户不能改,用户不能改写这个属性。写这个属性。 UserData属性属性 UserData属性的取值

6、是一个矩阵,缺省值为空矩阵,属性的取值是一个矩阵,缺省值为空矩阵,用户可以在这个属性中保存与该菜单对象相关的重要数用户可以在这个属性中保存与该菜单对象相关的重要数据或信息,借此可以达到传递数据或信息的目的。可以据或信息,借此可以达到传递数据或信息的目的。可以用用set和和get函数访问该属性。函数访问该属性。回调属性(回调属性(callback)和菜单名()和菜单名(label)【*例例 11.3.3.1-1】本例的目标是:在图形窗上自制一个名为【】本例的目标是:在图形窗上自制一个名为【Test】的】的“顶层菜顶层菜单项单项”;当用鼠标点动该菜单项时,将产生一个带分格的封闭坐标轴。通过本;当用

7、鼠标点动该菜单项时,将产生一个带分格的封闭坐标轴。通过本例说明:(例说明:(A)回调属性的运作机理;()回调属性的运作机理;(B)用户顶层菜单项的制作()用户顶层菜单项的制作(C)uimenu 属性的设置方法;(属性的设置方法;(D)复杂字符串的构成方法和注意事项。)复杂字符串的构成方法和注意事项。(1)在)在 MATLAB 指令窗中运行以下程序可产生带分格的封闭坐标轴(如下图)指令窗中运行以下程序可产生带分格的封闭坐标轴(如下图)grid on,set(gca,box,on)(3)产生题目要求的界面的)产生题目要求的界面的 uimenu 的书写格式为:直接连续表的书写格式为:直接连续表示法:

8、示法:uimenu(Label,Test,Callback,grid on,set(gca,box,on),) (2)在在 MATLAB 指令窗中用以下指令窗中用以下 eval 指令可产生与图指令可产生与图 11.3.3.1-1 相同相同的界面的界面eval(grid on,set(gca,box,on)1)uimenu(Label,Test, .Callback,grid on, , . set(gca,box,on);)2)Lpv=Test;Cpv=grid on,set(gca,box,on),;uimenu(Label, Lpv, Callback , Cpv) 3)PS.Label=

9、Test;PS.Callback=grid on;,set(gca,box,on);uimenu(PS)3. 设置简捷键或快捷键设置简捷键或快捷键【*例例 11.3.3.2-1】本例目标:】本例目标:Color菜单项及其下拉的菜单项及其下拉的 Blue 菜单各带一个简捷菜单各带一个简捷键,而另一项下拉菜单键,而另一项下拉菜单 Red 带一个快捷键。带一个快捷键。figureh_menu=uimenu(gcf,Label,&Color); %带简捷键带简捷键C的用户菜单的用户菜单Color h_submenu1=uimenu(h_menu,Label,&Blue,. %带简捷键带

10、简捷键B的的下拉菜单的的下拉菜单Blue Callback,set(gcf,color,blue);h_submenu2=uimenu(h_menu,label,Red,. %制作另一个下拉菜单制作另一个下拉菜单RedCallback,set(gcf,color,red),.Accelerator,r); %为为Red菜单设置快菜单设置快捷键捷键R figure %创建一个图形窗创建一个图形窗 h_menu=uimenu(gcf,label,Color); %制作用户顶层菜单制作用户顶层菜单 项项Color h_submenu1=uimenu(h_menu,label,Blue,. %制作下拉

11、制作下拉 菜单项菜单项Blue callback,set(gcf,Color,blue); % h_submenu2=uimenu(h_menu,label,Red,. %制作下拉菜单制作下拉菜单Red callback,set(gcf,Color,red); %例例3 建立建立“图形演示系统图形演示系统”菜单。菜单条中含有菜单。菜单条中含有3个菜个菜单项:单项:Plot、Option和和Quit。Plot中有中有Sine Wave和和Cosine Wave两个子菜单项,分别控制在本图形窗口画两个子菜单项,分别控制在本图形窗口画出正弦和余弦曲线。出正弦和余弦曲线。Option菜单项的内容为:菜

12、单项的内容为:Grid on和和Grid off控制给坐标轴加网格线,控制给坐标轴加网格线,Box on和和Box off控控制给坐标轴加边框,而且这制给坐标轴加边框,而且这4项只有在画有曲线时才是项只有在画有曲线时才是可选的。可选的。Figure Color控制图形窗口背景颜色。控制图形窗口背景颜色。Quit控控制是否退出系统。制是否退出系统。程序如下:程序如下:screen=get(0,ScreenSize);W=screen(3);H=screen(4);figure(Color,1,1,1,Position,0.2*H,0.2*H,0.6*W,0.4*H,. Name,图形演示系统图形

13、演示系统,NumberTitle,off,MenuBar,none);%定义定义Plot菜单项菜单项hplot=uimenu(gcf,Label,&Plot);uimenu(hplot,Label,Sine Wave,Call,t=-pi:pi/20:pi;,plot(t,sin(t);,. set(hgon,Enable,on);,set(hgoff,Enable,on);,. set(hbon,Enable,on);,set(hboff,Enable,on);); uimenu(hplot,Label,Cosine Wave,Call,t=-pi:pi/20:pi;,plot(t,

14、cos(t);,. set(hgon,Enable,on);,set(hgoff,Enable,on);,. set(hbon,Enable,on);,set(hboff,Enable,on);); %定义定义Option菜单项菜单项 hoption=uimenu(gcf,Label,&Option); hgon=uimenu(hoption,Label,&Grig on,Call,grid on,Enable,off); hgoff=uimenu(hoption,Label,&Grig off,Call,grid off,Enable,off); hbon=uimen

15、u(hoption,Label,&Box on,separator,on,Call,box on,Enable,off); hboff=uimenu(hoption,Label,&Box off,Call,box off,Enable,off); hfigcor=uimenu(hoption,Label,&Figure Color,Separator,on); uimenu(hfigcor,Label,&Red,Accelerator,r,Call,set(gcf,Color,r);); uimenu(hfigcor,Label,&Blue,Accele

16、rator,b,Call,set(gcf,Color,b);); uimenu(hfigcor,Label,&Yellow,Call,set(gcf,Color,y);); uimenu(hfigcor,Label,&White,Call,set(gcf,Color,w);); %定义定义Quit菜单项菜单项 uimenu(gcf,Label,&Quit,Call,close(gcf);所建立的所建立的“图形演示系统图形演示系统”菜单如下:菜单如下:3. 快捷菜单快捷菜单 快捷菜单是用鼠标右键单击某对象时在屏幕上弹出的快捷菜单是用鼠标右键单击某对象时在屏幕上弹出的菜单。

17、这种菜单出现的位置是不固定的,而且总是和某个菜单。这种菜单出现的位置是不固定的,而且总是和某个图形对象相联系。图形对象相联系。 在在Matlab中,可以使用中,可以使用uicontextmenu函数和图形对象函数和图形对象的的UIContextMenu属性来建立快捷菜单,具体步骤为属性来建立快捷菜单,具体步骤为: 利用利用uicontextmenu函数建立快捷菜单函数建立快捷菜单,格式为:,格式为: 利用利用uimenu函数为快捷菜单建立菜单项函数为快捷菜单建立菜单项,格式为:,格式为: 功能:功能:为创建的快捷菜单赋值,其中属性名和属性值构成为创建的快捷菜单赋值,其中属性名和属性值构成属性二

18、元对。属性二元对。 uimenu(快捷菜单名快捷菜单名,属性名,属性值,属性名,属性值,.)功能:功能:建立快捷菜单,并将句柄值赋给变量建立快捷菜单,并将句柄值赋给变量hc。 hc=uicontextmenu 利用利用set函数将该快捷菜单和某图形对象联系起来。函数将该快捷菜单和某图形对象联系起来。x=0:pi/100:2*pi;y=2*exp(-0.5*x).*sin(2*pi*x);hl=plot(x,y);hc=uicontextmenu; %建立快捷菜单建立快捷菜单hls=uimenu(hc,Label,线型线型); %建立菜单项建立菜单项hlw=uimenu(hc,Label,线宽线宽);uimenu(hls,Label,虚线虚线,Call,set(hl,LineStyle,:););uimenu(hls,Label,实线实线

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论