注册 登录
编程论坛 Matlab

窗口界面菜单项中绘图功能实现不了,谁给解释一下(内附主要语句及说明)

Iamagays 发布于 2007-06-22 11:58, 1043 次点击
以下是全部语句,用来生成一个窗口界面,但是生成的窗口界面菜单项中Plot项不能执行(点击无任何反应),我猜测可能是'Call'语句写错了,有熟悉的人给解释一下么?谢谢了

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','图形演示系统','NumberTitle','off','MenuBar','none');
%定义Plot菜单项
hplot=uimenu(gcf,'Label','&Plot')
uimenu(hplot,'Label','Sine Wave','Call',['t=-pi:pi/20:pi;','y=sin(t);','plot(t,y);',...
'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;','y=cos(t);','plot(t,y);',...
'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','&Grid on','Call','grid on','Enable','off');
hgoff=uimenu(hoption,'Label','&Grid off','Call','grid off','Enable','off');
hbon=uimenu(hoption,'Label','&Box on','Separator','on','Call','box on','Enable','off');
hboff=uimenu(hoption,'Label','&Box off','Call','box off','Enable','off');
hfigcolor=uimenu(hoption,'Label','&Fig Color','Separator','on');
uimenu(hfigcolor,'Label','&Red','Accelerator','r','Call','set(gcf,"Color","r");');
uimenu(hfigcolor,'Label','&Green','Accelerator','g','Call','set(gcf,"Color","g");');
%定义Quit菜单项
uimenu(gcf,'Label','&Quit','Call','close(gcf)');

PS: 其中划线部分为我猜测的可能出错的地方

[此贴子已经被作者于2007-6-22 14:52:17编辑过]

5 回复
#2
leki2007-06-22 15:39
横线处,不要用双引号,应该为两个单引号,试试
#3
Iamagays2007-06-23 14:07
谢谢斑竹

其实这个程序是书上抄的

因为我在书里面发现了些错误

所以对它的程序和语法不够信任

不过 划线部分是双引号我应该没有什么问题 这个语法结构在很多程序中都出现过

哪位大虾再帮我想想/
#4
Iamagays2007-06-23 14:13
==========================

多谢斑竹提醒

我的程序中应该是''符号,而不应该是"符号,哈哈,总算解决了

啦啦啦啦啦

#5
leki2007-06-23 20:23

其实在回复你的帖子之前我是试过了的,只是没有直接把代码帖出来给你而已,就是想让你自己动手,所以以后别人给你的提示或建议最好是先亲自去试一下,这样才知道别人是不是正确的,而不是按照自己固定的思维去想当然。
(只是一点意见,并没有要打击你的意思)

#6
Iamagays2007-06-25 17:06

多谢斑竹意见

不会被打击的

1