MFC多线程问题,主线程与子线程通讯 10
主线程就是MFC自动创建的那个,然后我自己创建了一个子线程,子线程里面主要是接收和处理数据,而主线程主要实现数据的显示.按下菜单栏的一个按钮之后子线程也会被创建出来,不停...
主线程就是MFC自动创建的那个,然后我自己创建了一个子线程,子线程里面主要是接收和处理数据,而主线程主要实现数据的显示.按下菜单栏的一个按钮之后子线程也会被创建出来,不停地接收数据,接收到了一组数据之后我怎样去通知主线程来显示这一组数据呢?
展开
1个回答
展开全部
用SendMessage或PostMessage向主线程的主窗体发送自定义消息,在消息处理函数中显示数据
更多追问追答
追问
为什么不直接调用UpdateAllView刷新呢?把数据显示写在ondraw里面
追答
如果你的程序是文档视图结构的话,这样也可以,你可以自己尝试一下。但要注意的是,在自己创建的工作者线程里直接使用主线程的窗体对象指针会出现潜在问题,《MFC windows程序设计》上已经说过,凡是界面的更新,界面的绘制等一切界面的改动,都应该由主UI线程来完成。工作者线程负责通知主UI线程,主UI线程来完成界面内容的更改。至于通知的方式,发送自定义消息只是一种常用的方法,其他方法可以自己研究下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询