层次结构
要学GUI,大概先知道它的层次结构,如下图所示,我们要设计的就是下面这个几个东西。
菜单uimenu
建立一级菜单项的函数调用格式:
hm=uimenu(h_parent,'PropertyNamel',valuel,'propertyName2',value2,...);
hm 是由 uimenu 生成的菜单项的句柄,通过设定uimenu对象的属性值PropertyName和PropertyValue定义菜单特性。h_parent 是默认的父辈图形对象的句柄。
建立子菜单项的函数调用格式:
hmsub=uimenu(hm,'PropertyNamel',valuel,'PropertyName2',value2,...);
hmsub是由uimenu生成的菜单项的句柄,通过设定uimenu对象的属性值PropertyName和PropertyValue定菜单特性。hm 是一级菜单项柄。
最重要的属性是Label和Callback,Label 确认菜单项。Callback当选中菜单项时,传给eval用以执行命令。
hmE=uimenu(gcf,'Label','Example');%建立一级菜单
hmEsub1=uimenu(hmE,'Label','Grid','Callback','grid on');%建立二级菜单,在点击的时候调用Callback里面的命令
hmEsub2=uimenu(hmE,'Label','View');
hmEsub21=uimenu(hmEsub2,'Label','sin','Callback','plot(sin([0:0.1:2*pi]),"r")');
hmEsub22=uimenu(hmEsub2,'Label','cos','Callback','plot(cos([0:0.1:2*pi]),"b")');
hmEsub3=uimenu(hmE,'Label','Hold','Callback','hold');
hmC=uimenu(gcf,'Label','close');
hmCsub1=uimenu(hmC,'Label','Remove Example Menu','Callback','delete(hmE);drawnow');
hmCsub2=uimenu(hmC,'Label','Close Figure','Callback','close');
然后就是选择菜单项执行,就会产生对应的效果。