
mfc如何使用子线程控制主要界面的控件
自己创建了mfc项目,有网络I/O部分,我不想界面阻塞在那一步就让子线程执行,现在完成I/O后想要使用子线程去修改界面的edit和listbox控件,发现并不能做到。求问...
自己创建了mfc项目,有网络I/O部分,我不想界面阻塞在那一步就让子线程执行,现在完成I/O后想要使用子线程去修改界面的edit和listbox控件,发现并不能做到。求问什么方法可以让子线程操作界面的控件。越详细越好。
展开
展开全部
MFC本身不是线程安全的,最好不要在线程中操作UI。如果不得不这么做,首先确保自己能做好同步。然后方法还是很多的。
发送消息。虽然操作UI可能会导致问题,但是发送消息却不会,利用消息启动实例的响应函数,然后从共享数据里取出数据进行操作。
把实例的句柄传给线程。在保证同步的情况下操作实例的方法。
追问
那么获得实例和发送消息应该采用什么哪些函数和哪些方法呢?我很少用mfc可不可以给我一个简单示例。
实现的原理是什么
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询