声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1402|回复: 3

[混合编程] matlab使用COM在VC2005下调用,输出不产生Edit plot工具按钮及其功能,

[复制链接]
发表于 2006-10-24 00:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
matlab使用COM在VC2005下调用,输出不产生Edit plot工具按钮及其功能,使用的是MFC下的程序,图形能生成,但是仅有一个File菜单,通过语句增加了Tool菜单,但是菜单下什么都没有。没有斜箭头的Editplot按钮,无法对曲线进行设置,郁闷中。请教那位高手,这是什么原因造成的。 希望能像在matlab下绘曲线一样,有多数的菜单和工具条(主要能满足调整tick等的修改功能。若是自己做绘图后外部控制也可以,我实现了,但是总感还是很麻烦)。谢谢!!!
回复
分享到:

使用道具 举报

发表于 2006-10-24 11:15 | 显示全部楼层
没太看明白你的问题,不知是否能够介绍的清除点,或者给各代码,大家帮忙调试一下
 楼主| 发表于 2006-10-24 13:57 | 显示全部楼层

详细说明

软件环境:VC++.net2005、matlab7.0(2006R)、winXP

制作一个 .m文件如下:
function show()
x = 1:10;
y = x.^3;
plot( x,y);


使用  dotnettool 创建项目编译,使用" Build->COM Object" 最后显示Standalone DLL build complete

使用VC++2005.net创建对话框,导入上面产生的COM.并调用.
调用过程大致如下,之前先const CLSID show_CLSID = { 0xB10B27EF,0xAB3A,0x4311,{0x9C,0xB8,0x6C,0xC0,0x17,0x17,0xD3,0x4E} };
CCShow* ps;
    ps = new CCShow;
    if( ps->CreateDispatch( show_CLSID, NULL ) )
    {
        AfxMessageBox(_T("good"));
    }
    ps->show();


这样能运行,也能绘制曲线,但是曲线上的菜单和工具条与在matlab下运行不同。菜单缺少了很多。我是希望能像在matlab下一样能够方便的对曲线属性进行调整。但是这样生成的曲线就没有这个功能。希望能够显示那些tool等菜单,以便使用其功能。
例如VC生成的曲线,怎么调整网格Tick,线的宽度LineWidth。
我可以做另外一个VC下的对话框实现这些功能,但是不如在matlab下生成的那个斜箭头双击figure就产生property editor进行调节方便。
谢谢!
发表于 2006-10-24 17:56 | 显示全部楼层
这个还真不清楚,估计可能不行,不知道是否有比较了解的人给介绍一下
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-19 22:53 , Processed in 0.051765 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表