某些数据处理时,MFC应用程序会挂起

时间:2015-05-20 11:43:45

标签: user-interface mfc

我有GUI的应用程序但它挂起,当我点击实际上完成所有工作的按钮。如何使其正常运行并在线显示gui变化?

1 个答案:

答案 0 :(得分:0)

如果您不想使用后台线程,并且需要花费很长时间的某种循环,您可以将此成员函数添加到您的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);  
      }
    }
}