请教大家一个简单VC++和MATLAB的混合编程问题
我照《MATLAB与c/c++混合编程》中的方法操作将MATLAB 的Figure窗口嵌入到MFC应用程序中,但是结果如下图所示情况,绘图区好像绘制了两个图片,而且位置和大小还和要求的不一致,请大家帮帮看下问题处在什么地方,先谢谢啦!(绘图区应制绘制一个图片,而且大小和绘图区窗口一样大)程序如下:
// TODO: Add your control notification handler code here
char wnd_name[]="MyTest";
mwArray mwWndName(wnd_name);
mccdemo3(mwWndName); //调用演示函数
//获得窗口句柄
HWND hFig=::FindWindow(NULL,wnd_name);
while(hFig==NULL)
{
hFig=::FindWindow(NULL,wnd_name);
}
//首先隐藏窗口
::ShowWindow(hFig,SW_HIDE);
//获得空间区域
CRect figure_rect;
CWnd *myfigure=GetDlgItem(IDC_STATIC);
myfigure->GetWindowRect(&figure_rect);
long fig_width=figure_rect.Width();
long fig_height=figure_rect.Height();
//重置MATLAB Figure窗口的父窗口
::SetParent(hFig,myfigure->GetSafeHwnd());
//去掉MATLAB Figure窗口的标题栏和框架属性
long lStyle=::GetWindowLong(hFig,GWL_STYLE);
::SetWindowLong(hFig,GWL_STYLE,lStyle&(~WS_CAPTION)&(~WS_THICKFRAME));
//::ShowWindow(hFig,SW_SHOW);
//将MATLAB Figure窗口移动到空间位置
::SetWindowPos(hFig,HWND_BOTTOM,0,0,fig_width+8,fig_height+33,SWP_NOZORDER|SWP_NOACTIVATE);
//显示窗口
::ShowWindow(hFig,SW_SHOW);
//激活主窗口
::SetForegroundWindow(this->m_hWnd);