独立的回调函数.doc

独立的回调函数.doc

ID:55185220

大小:104.50 KB

页数:16页

时间:2020-05-02

独立的回调函数.doc_第1页
独立的回调函数.doc_第2页
独立的回调函数.doc_第3页
独立的回调函数.doc_第4页
独立的回调函数.doc_第5页
资源描述:

《独立的回调函数.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、独立的回调函数建立GUI函数的一个有效方法是编写独立的回调函数,专门执行一个或多个回调。函数使用的对象句柄和其它变量可以作为参量传递,必要时回调函数可返回值。考虑先前的一个例子,建立一个方位角的滑标,以脚本文件来实现。%setview.mscriptfilevw=get(gca,'View');Hc_az=uicontrol(gcf,'Style','slider',...'Position',[10514020],...'Min',-90,'Max',90,'Value',vw(1),...'Callback

2、',[...'set(Hc_cur,'String',num2str(get(Hc_az,'Value'))),'...'set(gca,'View',[get(Hc_az,'Value')vw(2)])']);Hc_min=uicontrol(gcf,'style','text',...'Position',[10254020],...'String',num2str(get(Hc_az,'Min')));Hc_max=uicontrol(gcf,'Style','text',...'Position',[1

3、10254020],...'String',num2str(get(Hc_az,'Max')));Hc_cur=uicontrol(gcf,'Style','text',...'Position',[60254020],...'String',num2str(get(Hc_az,'Value')));下面是同样的例子。作为一个函数,采用'Tag'属性来辨别控制框,并使用独立的M文件来执行回调。funtionsetview()vw=get(gca,'View');Hc_az=uicontrol(gcf,'Styl

4、e','Slider',...'Position',[10514020],...'Min',-90,'Max',90,'Value',vw(1),...'Tag','Azslider',...'Callback','svcback');Hc_min=uicontrol(gcf,'style','text,...'Position',[10254020],...'String',num2str(get(Hc_az,'Min')));Hc_max=uicontrol(gcf,'Style','text',...'P

5、osition',[110254020],...'String',num2str(get(Hc_az,'Max')));Hc_cur=uicontrol(gcf,'Style','text',...'Position',[60254020],...'Tag','Azcur',...'String',num2str(get(Hc_az,'Value')));回调函数本身如下:functionsvcback()vw=get(gca,'View');Hc_az=findobj(gcf,'Tag','AZslider'

6、);Hc_cur=findobj(gcf,'Tag','AZcur');str=num2str(get(Hc_az,'Value'));newview=[get(Hc_az,'Value')vw(2)];set(Hc_cur,'String',str)set(gca,'View',newview)上面的例子并不节省很多代码,但却得到了用函数而不用脚本文件的优点:回调函数可以利用临时变量,而不使命令窗口工作空间拥挤;不需要eval所需的引号和字符串;在回调函数中命令的句法变得十分简单。使用独立回调函数技术,越复杂

7、的回调(函数)越简单。独立回调函数的缺点是:需要很大数目的M文件以实现一个含有若干控制框和菜单项的GUI函数,所有这些M文件必须在MATLAB路径中可得,且每一个文件又必须要有一个不同的文件名。在对文件名大小有限制且对大小写不敏感的平台上,如MS-windows,文件冲突的机会就增加了。而且回调函数只能被GUI函数调用而不能被用户调用。递归函数调用利用单独的M文件并递归地调用该文件,既可以避免多个M文件的复杂性,又可以利用函数的优点。使用开关switches或ifelseif语句,可将回调函数装入调用函数内。通

8、常这样一种函数调用的结构为functionguifunc(switch)。其中switch确定执行哪一个函数开关的参量,它可以是字符串'startup','close','sectolor'等等,也可以是代码或数字。如switch是字符串,则可如下面所示的M文件片段那样将开关编程。ifnargin<1,switch='startup';end;if~isstr(switch),erro

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。