Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
User interface MFC应用程序gui在某些数据处理时挂起_User Interface_Mfc - Fatal编程技术网

User interface MFC应用程序gui在某些数据处理时挂起

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; //

我有一个带有GUI的应用程序,但当我点击按钮时,它会挂起,而这个按钮实际上可以完成所有的工作。如何使其正常运行并“在线”显示gui更改

如果您不想使用后台线程,而且这是一个需要很长时间的循环,您可以将此成员函数添加到UI代码中,并在循环中调用它:

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代码是单线程的(无论如何,我希望如此)。那么它将如何更新一些主窗口信息呢?线程间通信。这两个问题的答案都超出了这个网站上任何可以想象的详细程度。