在VC多线程中操作MFC界面

在VC中,MFC的界面不是线程安全的,我们不能在工作线程中直接操作界面,同时MFC中也没有提供类似于Delphi的VCL的Lock方法,要想在线程中修改界面状态,通常来说是通过发消息来实现的.

有些时候,我们可以用WM_Timer消息处理来模拟多线程的运行效果,因为WM_Timer的消息处理是一个伪多线程,其实是在主线程中运行的,所以可以直接操作界面,但是同多线程的最大区别就是当界面执行一个长周期的堵塞操作时,WM_Timer消息处理函数根本不会被执行,而线程则不会有这样的问题。