(Visual C++) CWnd 和 Cwinthread的问题

[复制链接]
 楼主| 将军令 发表于 2007-12-24 14:59 | 显示全部楼层 |阅读模式
CWnd&nbsp;和&nbsp;Cwinthread的问题<br />我自己写了一个弹出窗口,用以显示消息,这个窗口继承自CWnd,写好后,我挂在主程序的菜单下,可以正常弹出和现实和显示<br />在这个calss里面做了一个定时器,可以显示&nbsp;读秒(显示的信息每秒跳一次)的信息<br /><br />我有还有一个线程,在他的RUN函数里面有密集运算,在运算的过程,输出一些信息到以上消息窗口,在这个线程里面,<br />我new了一个上面所述的消息窗口。可是奇怪的是只要我没有运行完这个线程的run函数,这个窗口就一定不能弹出。<br /><br /><br />我想要的是,在运算的过程中,这个窗口显示并且&nbsp;能实时更新文字。<br />我的做法错在哪里?<br /><br />int&nbsp;CMsgWnd_RealTimeShow::Run(void)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;this-&gtpopup();<br />&nbsp;&nbsp;&nbsp;&nbsp;//while(!end_thread_now)<br />&nbsp;&nbsp;&nbsp;&nbsp;//{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msg.htext=this-&gttext;&nbsp;&nbsp;//msg是重载于CWnd的类<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msg.m_strCaption=this-&gtcaption;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msg.Update_text();<br />&nbsp;&nbsp;&nbsp;&nbsp;//}<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0;<br />}<br /><br />void&nbsp;CMsgWnd_RealTimeShow::popup(void)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;this-&gtpMsgWindow=new&nbsp;CMsgWnd;<br />&nbsp;&nbsp;&nbsp;&nbsp;CMsgWnd&&nbsp;msg=*pMsgWindow;<br />&nbsp;&nbsp;&nbsp;&nbsp;msg.CreateMsgWindow();<br />&nbsp;&nbsp;&nbsp;&nbsp;msg.m_strCaption=&quot;Infomation&quot;;<br />&nbsp;&nbsp;&nbsp;&nbsp;msg.htext=&quot;Have&nbsp;some&nbsp;infomation&quot;;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;msg.ShowWindow(SW_SHOW);<br />&nbsp;&nbsp;&nbsp;&nbsp;msg.UpdateWindow();<br />}
dai_weis 发表于 2007-12-25 17:16 | 显示全部楼层

你的定时器是怎么做的?

定时器要用系统函数中的类库中的关于定时方面的函数<br />不要自行构造。<br />自行构造的是一个顺序执行的代码集,中间占用CPU资源很大尤其是循环结构<br />这个问题建议到Vckbase或者CSDN.net那里,估计作MCU程序的C用的较多,VC++和类库及封装基本用不到。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

180

主题

937

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部