Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2008-04-30
年龄: 40
帖子: 13
声望力: 18 ![]() |
![]()
我用matcom将.m文件(画图)转换成.cpp和.h加入到我在VC.net里面建立的对话框应用程序,然后在对话框中加入一文本编辑框,一combo box,一按钮,响应按钮的单击事件,我在这个函数中加入以下代码:
UpdateData(true); : ![]() 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的值都更新了,但是新的图就是不显示出来。 请问高手,我前面的那种方法对不对?如果是对的,闪烁能消除吗? 如果不对?是用后面的方法吗?或者说后面的方法还需要在哪里补充一下? |
![]() |
![]() |
![]() |
#2 |
初级会员
注册日期: 2008-04-30
年龄: 40
帖子: 13
声望力: 18 ![]() |
![]()
没有朋友帮忙解答一下吗?
|
![]() |
![]() |
![]() |
|
|
![]() |
||||
主题 | 主题作者 | 版面 | 回复 | 最后发表 |
【求助】关于用matlab处理图象中感兴趣区域的问题 | chen_lei_1 | MATLAB论坛 | 3 | 2008-06-30 17:19 |
【求助】MATLAB的设计 | 宝宝520 | MATLAB论坛 | 0 | 2008-01-06 12:06 |