| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 982 人关注过本帖
标题:请教大家一个简单VC++和MATLAB的混合编程问题
只看楼主 加入收藏
zbjshower
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-5-19
收藏
 问题点数:0 回复次数:1 
请教大家一个简单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);
搜索更多相关主题的帖子: MATLAB 
2010-05-19 19:29
zbjshower
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-5-19
收藏
得分:0 
没人回答   自己顶起   免得沉了
2010-05-20 08:43
快速回复:请教大家一个简单VC++和MATLAB的混合编程问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024052 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved