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

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

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