我在UI线程外的工作线程有时会操作UI,我直接调用UI类的成员函数会出现ASSERT错误,请问如何在工作线程进行UI操作。 急求答案,谢谢了!

解决方案 »

  1.   

    MFC程序工作线程不能直接操作主线程里的界面相关的控件,得发送自定义消息给主线程,然后由主线程来操作。
      

  2.   

    工作线程发送自定义消息到UI界面线程,在UI界面线程的自定义消息响应函数中区操作界面上的元素
      

  3.   

    我记得好想是操作UI不是线程安全的。
    因此MFC只允许UI线程直接操作UI,其它的线程只能通过消息机制令其操作UI。
      

  4.   

    最好使用自定义消息,将窗口HWND传入线程,线程中SendMessage向窗口发送自定义消息,由窗口响应事件处理UI
      

  5.   

    工作线程中最好不要直接操作UI,而是给UI线程发送消息,然后由UI线程来操作UI
      

  6.   

    向UI线程发送消息
    同步用SendMessage,异步用PostMessage
      

  7.   

    创建线程的时候 使用 AfxBeginThread创建工作线程