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
解决:出于对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
相关文章推荐
- C#+Matlab项目开发纪实(问题汇总)
- C#+Matlab项目开发纪实(二)
- C#+Matlab项目开发纪实(序)
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台(C#开发)-项目中专业名称介绍
- 39、C#项目开发注意
- 没头没尾--项目开发笔记:C#分布式工程的修改版本
- 电子书下载:C#软件项目开发全程剖析-全面透视SharpDevelop软件的开发内幕
- c#项目开发常见问题
- 用了2年C#开发项目,应该总结总结了!
- 在线视频网站开发(我的第一个c#项目)
- 【C#】结对项目开发-电梯调度仿真系统(内部开发者版)(党云龙、黄为)
- [开发语言]C#项目如何制作安装程序
- 承接C# mapxtreme arcgis相关开发项目
- SharpStreaming项目开发纪实:构建基于RTSP协议的服务器及客户端应用(一)——准备知识(RTSP协议)
- [2]项目创建-使用C#.NET开发基于本地数据缓存的PC客户端
- 【从业余项目中学习2】C# 实现调用Matlab函数(Visual Studio:2008, Matlab:R2009a)
- Java进击C#——项目开发环境
- 没头没尾--项目开发笔记 C#企业级模板理解
- 【C#】结对项目开发-电梯调度仿真系统(Bata版)(党云龙、黄为)
- C#软件开发实例.私人订制自己的屏幕截图工具(二)创建项目、注册热键、显示截图主窗口