永发信息网

vc 怎么直接调用matlab里生成的图到图片控件里?

答案:2  悬赏:20  手机版
解决时间 2021-12-25 09:34
  • 提问者网友:ミ烙印ゝ
  • 2021-12-25 05:50
我matlab里 生成的是实时的图 想要放到图片控件中, 还有就是 我第一个按钮打开了matlab引擎, 第二个按钮又要重新打开 ,怎么才能让第二个按钮在第一个按钮的前提下继续运行matlab,感谢各位大神回答下, 麻烦说详细些,有例子最好,自学的vc ,谢谢啦!
最佳答案
  • 五星知识达人网友:躲不过心动
  • 2021-12-25 06:13
本人用的是matlab7.0.1建立com组件,vc6.0混合编程
vc中代码如下:
void CTryPlotDlg::OnButton1()
{
CoInitialize(NULL);
Iplotsin* pImyclass;
HRESULT hr=CoCreateInstance(CLSID_plotsin,NULL,CLSCTX_ALL,IID_Iplotsin,(void **)&pImyclass);

COleVariant ctrl;
ctrl=(double)0;
pImyclass->guitest1((VARIANT)ctrl);
char FigName[]="_guitest_";
HWND hFig=::FindWindow(NULL,FigName);
long lStyle=::GetWindowLong(hFig,GWL_STYLE);
::SetWindowLong(hFig,GWL_STYLE,lStyle&(~WS_CAPTION)&(~WS_THICKFRAME));
::SetWindowPos(hFig,NULL,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE|SWP_NOZORDER|SWP_NOACTIVATE|SWP_FRAMECHANGED);
RECT PlotRec;
CWnd* PlotArea=GetDlgItem(IDC_PLOTPIC);
PlotArea->GetWindowRect(&PlotRec);
long Width=PlotRec.right-PlotRec.left;
long Height=PlotRec.bottom-PlotRec.top;
::SetParent(hFig,PlotArea->GetSafeHwnd());
::SetWindowPos(hFig,NULL,1,1,Width-3,Height-3,SWP_NOZORDER|SWP_NOACTIVATE);
ctrl=(double)1;
pImyclass->guitest1((VARIANT)ctrl);
}
就是在对话框中,有个按钮来响应,matlab作图sin函数,没有问题
全部回答
  • 1楼网友:千夜
  • 2021-12-25 07:26
2 直接调用matlab的c/c++数学函数库。vc中可以直接使用matlab提供的c/c++数学函数,此方法需要对c/c++ matcom编译m文件,先将m文件依照与matcom的cpp库的 查看更多答案>>
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯