hcq1221
hcq1221
采纳率25%
2016-06-02 11:53

MFC 在while循环中及时更新控件,貌似无法使用多线程解决

MFC中,在while循环中实时更新控件的值,怎样实现?

我使用多线程时发现没用,因为在辅助线程的处理函数中使用SetDlgItemText函数时,它还是会发送WM__SETTEXT消息到主线程中,从而会被阻塞达不到即时更新edit的值得效果,怎么解决。_
void CMyClass ::Test()
{
int num=0,i=0;
while(i num++;
i++;
SetDlgItemText(MainWnd->m_hWnd,IDC_EDIT2,num);
}
}//如何达到UI上的EDIT控件的值即时更新为num

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • oyljerry oyljerry 5年前

    线程中发送消息PostMessage给主线程。mfc中UI元素只能在主线程中更新。你主线程收到消息后SetDlgItemText等

    点赞 评论 复制链接分享
  • Lc_BoYi 小小小小小学生 5年前

    SendMessage 将消息发送到主线程 让主线程来更新EDIT

    点赞 评论 复制链接分享