实验6图形用户界面设计及代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验6. 图形用户界面设计
一、 实验目的
1. 掌握图形对象属性的基本操作;
2. 掌握菜单及对话框设计、建立控件对象的方法。
二、 实验环境
1. 计算机;
2. Matlab 软件。
三、 实验说明
1. 正确操作,认真观察;
2. 实验学时:2学时;
3. 学会使用help ;
4. 保存整理实验结果,提交实验报告。
四、 实验内容
1.设计如教材P374 图1所示的菜单,并在此基础上增加选项:可以改变曲线的颜色、线型;可以改变窗口背景颜色。
2.(选做)采用图形用户界面,从键盘输入参数a 、b 、n 的值,考察参数对极坐标曲线)cos(θρn b a +=的影响。
五、 实验程序及结果
1.程序:screen=get(0,'ScreenSize');
W=screen(3);H=screen(3);
figure('Color','w','Position',[*H,*H,*W,*H],...
'Name', '菜单设计实验' ,'NumberTitle','off','MenuBar','none'); hplot=uimenu(gcf,'Label','&Plot'); %定义plot 菜单项
uimenu(hplot,'Label','Sine Wave','Call',...
['t=-pi:pi/20:pi;','h0=plot(t,sin(t));', 'set(h0,''UIContextMenu'',ht);',... 'set(hlr,''Enable'',''on'');',
'set(hlg,''Enable'',''on'');','set(hlb,''Enable'',''on'');',...
'set(hsx,''Enable'',''on'');','set(hss,''Enable'',''on'');']);
uimenu(hplot,'Label','Cosine Wave','Call',...
['t=-pi:pi/20:pi;','h0=plot(t,cos(t));', 'set(h0,''UIContextMenu'',ht);',...
'set(hlr,''Enable'',''on'');','set(hlg,''Enable'',''on'');',
'set(hlb,''Enable'',''on'');',...
'set(hsx,''Enable'',''on'');','set(hss,''Enable'',''on'');']);
uimenu(hplot,'Label','&Exit','Call','close(gcf)');
ho=uimenu(gcf,'Label','&Option'); %定义Option菜单项
hw=uimenu(ho,'Label','&Window Color');
uimenu(hw,'Label','&Red','Call','set(gcf,''Color'',''r'');');
uimenu(hw,'Label','&Green','Call','set(gcf,''Color'',''g'');');
uimenu(hw,'Label','&Blue','Call','set(gcf,''Color'',''b'');');
uimenu(hw,'Label','&White','Call','set(gcf,''Color'',''w'');');
hl=uimenu(ho,'Label','&Line Color','Separator','on');
hlr=uimenu(hl,'Label','&Red','Call',...
'set(h0,''Color'',''r'');','Enable','off');
hlg=uimenu(hl,'Label','&Green','Call',...
'set(h0,''Color'',''g'');','Enable','off');
hlb=uimenu(hl,'Label','&Blue','Call',...
'set(h0,''Color'',''b'');','Enable','off');
hlw=uimenu(hl,'Label','&White','Call',...
'set(h0,''Color'',''w'');','Enable','off');
ht=uicontextmenu;
s=uimenu(ht,'Label','Linestyle');
hs=uimenu(ho,'Label','&Linestyle','Separator','on');
hsx=uimenu(hs,'Label','&双划线','Call',...
'set(h0,''Linestyle'','':'');','Enable','off'); hss=uimenu(hs,'Label','&实线 ','Call',...
'set(h0,''Linestyle'',''-'');','Enable','off');实验结果: