首页 > 技术文章 > 多线程界面更新

myart 2014-02-03 15:44 原文

线程中是不可以调用父窗口的UpdateData,原因如下:
  因为MFC部分信息存在 TLS 中,而调用UpdateData的线程和界面线程 不是同一个时,就会崩溃。
  MFC中很多代码也会检查TLS是否正确。
解决如下:
  1 在线程中使用 pDLG->GetDlgItem(ID)->SetWindowText(str)
  2 线程向父对话框发送自定义消息,消息响应函数里调用UpDateData

推荐阅读