您的位置:首页 > 编程语言 > MATLAB

C#+Matlab项目开发纪实(一)

2008-09-24 18:37 204 查看
问题:1. 如何在Matlab中利用.m文件产生一个没有Menubar,并且Toolbar中的按钮是按需显示的Figure?

解决:出于对matlab的不熟悉,这个问题困扰了我好久,也在各个论坛发了帖子询问,可能是问题太简单,没什么人关注,不过还是有个好心人给了我一个解答,在这里非常感谢某Matlab论坛的taohe,让我解决了这个问题。

这里是问题解决方案:http://www.mathworks.com/support/solutions/data/1-1ITUFY.html?solution=1-1ITUFY

比如说我的这个项目想要一个figure上面只显示zoom in,zoom out和Data Cursor功能,并且去掉figure中的Dock,产生的figure要非常小(原因以后说明),可以在Matlab里面这么写.m文件(感觉写的很不好,但是功能实现了,如果谁有更好的书写方法,请告之,先谢过!)

function CreatFigure() %创建一个figure的方法,如要编译成dll则必须是一个方法,加上function XXX()...end即可

scrsz = get(0,'screensize'); %获取当前屏幕的尺寸,0为Matlab中的桌面句柄

%产生一个我所需要的figure窗体

figure('menubar','none','toolbar','figure','Dock','off','Position',[scrsz(3)/2-80 scrsz(4)/2 scrsz(1)/2 scrsz(2)/2]);

a=findall(gcf);

b=findall(a,'tooltipstring','New Figure');

c=findall(a,'tooltipstring','Save Figure');

d=findall(a,'tooltipstring','Open File');

e=findall(a,'tooltipstring','Print Figure');

f=findall(a,'tooltipstring','Edit Plot');

g=findall(a,'tooltipstring','Rotate 3D');

h=findall(a,'tooltipstring','Show Plot Tools and Dock Figure');

i=findall(a,'tooltipstring','Hide Plot Tools');

j=findall(a,'tooltipstring','Insert Legend');

k=findall(a,'tooltipstring','Insert Colorbar');

l=findall(a,'tooltipstring','Link Plot');

m=findall(a,'tooltipstring','Brush/Select Data');

n=findall(a,'tooltipstring','Zoom In');

o=findall(a,'tooltipstring','Data Cursor');

set(b,'visible','off');

set(c,'visible','off');

set(d,'visible','off');

set(e,'visible','off');

set(f,'visible','off');

set(g,'visible','off');

set(h,'visible','off');

set(i,'visible','off');

set(j,'visible','off');

set(k,'visible','off');

set(l,'visible','off');

set(m,'visible','off');

set(n,'separator','off');

set(o,'separator','on');

end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: