- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLAB程序设计第10章 MATLAB图形用户界面设计.ppt
MATLAB程序设计教程(第二版) 刘卫国 主编 中国水利水电出版社 第10章 MATLAB图形用户界面设计 10.1 用户界面对象 所谓图形用户界面是指由窗口、菜单、对话框等各种图形对象组成的用户界面。 在MATLAB中,每一个图形用户界面都是由若干个不同的用户界面对象(UI)组成的。用户界面对象也是有层次的,其层次结构如图所示。 10.2.1 建立用户菜单要建立用户菜单可用uimenu函数,因其调用方法不同,该函数可以用于建立一级菜单项和子菜单项。 建立一级菜单项的函数调用格式为: 一级菜单项句柄=uimenu(图形窗口句柄,属性名1,属性值1,属性名2,属性值2,…) 建立子菜单项的函数调用格式为: 子菜单项句柄=uimenu(一级菜单项句柄,属性名1,属性值1,属性名2,属性值2,…) hm=uimenu(gcf,’Label’,’File’) hm1=uimenu(hm,’Label’,’Save’) hm2=uimenu(hm1,’Label’,’Save as’) 10.1.2 菜单对象常用属性 菜单对象具有Children、Parent、Tag、Type、UserData、Visible等公共属性,除公共属性外,还有一些常用的特殊属性。 Label属性-取值为字符串,用于定义菜单项的名字。字符串中如有字符,则在其后的那个字符将显示下划线,可用alt加该字符键来激活相应的菜单项。 Accelerator属性-取值可以是任何字母,用于定义菜单项的快捷键。如取字母W,则定义快捷键为 Ctrl+W。 Callback属性-取值是字符串,可以是某个文件名或一组MatLab命令。在该菜单项被选中以后,MatLab将自动调用此回调函数来做出对相应菜单项的响应。 Checked属性-取值是on或off(默认值)。该属性为菜单项定义一个指示标记,可用这个特性指明菜单项是否已被选中。 Enable属性-取值是on(默认值)或off。该属性控制菜单项的可选择性。如果它的值是off,则此时不能使用该菜单项,其呈灰色。 Position属性-取值为数值。它定义一级菜单项在菜单条上的相对位置或子菜单项在菜单组内的相对位置。例如对于一级菜单项,若position属性值为1,则表示该菜单项位于图形窗口菜单条的可用位置的最左端。 Separator属性-取值为on或off(默认值)。如果属性值为on,则在该菜单项上方添加一条分隔线,可以用分隔线将各菜单项按功能分开。 例10-1 建立下图所示的图形演示系统菜单。菜单条中含有3个菜单项:Plot、Option和Quit。Plot中有Sine Wave和Cosine Wave两个子菜单项,分别控制在本图形窗口画出正弦和余弦曲线。Option菜单项的内容如图10-1所示,其中Grid on和Grid off控制给坐标轴加网格线,Box on和Box off控制给坐标轴加边框,而且这4项只有在画有曲线时才是可选的。Window Color控制图形窗口背景颜色。Quit控制是否退出系统。 screen=get(0,ScreenSize); % [1 1 1024 768] W=screen(3); H=screen(4); figure(Color,[1,1,1],Position,[0.2*H,0.2*H,0.5*W,0.3*H],... Name,图形演示系统,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,cos(t));,... set(hgon,Enable,on);,... set(hgoff,Enable,on);,... set(hbon,Enable,on);,... set(hboff,Enable,on);]
文档评论(0)