mfc如何使用子线程控制主要界面的控件

自己创建了mfc项目,有网络I/O部分,我不想界面阻塞在那一步就让子线程执行,现在完成I/O后想要使用子线程去修改界面的edit和listbox控件,发现并不能做到。求问... 自己创建了mfc项目,有网络I/O部分,我不想界面阻塞在那一步就让子线程执行,现在完成I/O后想要使用子线程去修改界面的edit和listbox控件,发现并不能做到。求问什么方法可以让子线程操作界面的控件。越详细越好。 展开
 我来答
小黑羊LBS
2017-03-11 · 超过53用户采纳过TA的回答
知道小有建树答主
回答量:107
采纳率:0%
帮助的人:54.9万
展开全部

MFC本身不是线程安全的,最好不要在线程中操作UI。如果不得不这么做,首先确保自己能做好同步。然后方法还是很多的。

  1. 发送消息。虽然操作UI可能会导致问题,但是发送消息却不会,利用消息启动实例的响应函数,然后从共享数据里取出数据进行操作。

  2. 把实例的句柄传给线程。在保证同步的情况下操作实例的方法。

追问
  • 那么获得实例和发送消息应该采用什么哪些函数和哪些方法呢?我很少用mfc可不可以给我一个简单示例。

  • 实现的原理是什么

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式