Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2008-05-08, 07:10   #1
lmmf
初级会员
 
注册日期: 2008-04-30
年龄: 40
帖子: 13
声望力: 18
lmmf 正向着好的方向发展
默认 [求助]基于matcom的matlab与VC.net混编出现闪烁的问题

我用matcom将.m文件(画图)转换成.cpp和.h加入到我在VC.net里面建立的对话框应用程序,然后在对话框中加入一文本编辑框,一combo box,一按钮,响应按钮的单击事件,我在这个函数中加入以下代码:
UpdateData(true);
:estroyWindow(*p);
initM(MATCOM_VERSION);
p->Create(_T("STATIC"), "", WS_CHILD | WS_VISIBLE | WS_BORDER,CRect(0, 0, 400, 400), this, 1234);
Mm plothandle=winaxes(p->m_hWnd);
ITA=m_ITA;
ISR=m_ISR;
ksh_start(ITA,ISR,1,1,1,1,1,1,1,1,0,60,8,3000,-90,0.1,400,1500);
exitM();
对程序的解释:ksh_start就是.m文件里的函数,本来有很多参数,现在我只是试验,拿出两个参数用文本编辑框传值看行不行,m_ITA、m_ISR分别是文本编辑框、combo box对应的变量。p=new CWnd;
在相应的位置加入#include之类的。

下图是我的对话框界面,运行以后左边显示画出来的图形。然后在我改变文本编辑框或者combo box的值,再次点击按钮,新的图形出现,但是点击按钮时,这个图形区域闪的很厉害。这个原因我感觉应该是将一个窗口Destroy了,然后Create了出现的闪烁。说到这里很多朋友会说为什么不直接覆盖呢?也就是说下面这段代码(界面里面先建立一个静态文本框或者图片控制框,程序里获得此句柄,然后在调用函数在里面绘图):

UpdateData(true);
initM(MATCOM_VERSION);
p=(CWnd*)GetDlgItem(IDC_PIC);
Mm plothandle=winaxes(p->m_hWnd);
ITA=m_ITA;
ISR=m_ISR;
ksh_start(ITA,ISR,1,1,1,1,1,1,1,1,0,60,8,3000,-90,0.1,400,1500);
exitM();
这段代码理论上应该是可以实现“改变文本编辑框或combo box的值后,单击按钮,图形应该会更新”的功能,但是我试过了,实现不了,ITA和ISR的值都更新了,但是新的图就是不显示出来。

请问高手,我前面的那种方法对不对?如果是对的,闪烁能消除吗? 如果不对?是用后面的方法吗?或者说后面的方法还需要在哪里补充一下?
上传的图像
文件类型: jpg 1.jpg (56.3 KB, 12 次查看)
lmmf 当前离线   回复时引用此帖
旧 2008-05-09, 17:52   #2
lmmf
初级会员
 
注册日期: 2008-04-30
年龄: 40
帖子: 13
声望力: 18
lmmf 正向着好的方向发展
默认

没有朋友帮忙解答一下吗?
lmmf 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


相似的主题
主题 主题作者 版面 回复 最后发表
【求助】关于用matlab处理图象中感兴趣区域的问题 chen_lei_1 MATLAB论坛 3 2008-06-30 17:19
【求助】MATLAB的设计 宝宝520 MATLAB论坛 0 2008-01-06 12:06


所有时间均为北京时间。现在的时间是 09:58


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.