User interface MFC应用程序gui在某些数据处理时挂起
我有一个带有GUI的应用程序,但当我点击按钮时,它会挂起,而这个按钮实际上可以完成所有的工作。如何使其正常运行并“在线”显示gui更改 如果您不想使用后台线程,而且这是一个需要很长时间的循环,您可以将此成员函数添加到UI代码中,并在循环中调用它:User interface MFC应用程序gui在某些数据处理时挂起,user-interface,mfc,User Interface,Mfc,我有一个带有GUI的应用程序,但当我点击按钮时,它会挂起,而这个按钮实际上可以完成所有的工作。如何使其正常运行并“在线”显示gui更改 如果您不想使用后台线程,而且这是一个需要很长时间的循环,您可以将此成员函数添加到UI代码中,并在循环中调用它: void CMyDlg::PumpMessages() { // Must call Create() before using the dialog ASSERT(m_hWnd!=NULL); MSG msg; //
void CMyDlg::PumpMessages()
{
// Must call Create() before using the dialog
ASSERT(m_hWnd!=NULL);
MSG msg;
// Handle dialog messages
while(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{
if(!IsDialogMessage(&msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
}
将处理卸载到工作线程。您的GUI代码是单线程的(无论如何,我希望如此)。那么它将如何更新一些主窗口信息呢?线程间通信。这两个问题的答案都超出了这个网站上任何可以想象的详细程度。