h9999h 发表于 2006-10-24 00:19

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

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

happy 发表于 2006-10-24 11:15

没太看明白你的问题,不知是否能够介绍的清除点,或者给各代码,大家帮忙调试一下

h9999h 发表于 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进行调节方便。
谢谢!

happy 发表于 2006-10-24 17:56

这个还真不清楚,估计可能不行,不知道是否有比较了解的人给介绍一下
页: [1]
查看完整版本: matlab使用COM在VC2005下调用,输出不产生Edit plot工具按钮及其功能,