// 如果有消息,则响应并处理消息

BOOL CXXXDlg::PeekAndPump()
{
    static MSG msg;

    
while(::PeekMessage(&msg,NULL,0,0,PM_NOREMOVE))
    {
        
if(!AfxGetApp()->PumpMessage())
        {
            ::PostQuitMessage(
0);
            
return FALSE;
        }    

        
if(msg.message == WM_KEYDOWN && VK_ESCAPE == msg.wParam )
        {
            m_bDoCount
=FALSE;
        }
    }

    
return TRUE;
}

 // 每次循环先处理消息队列中的消息

 CXXXDlg::Loop()
{
  while(循环中响应消息,避免循环时UI线程被阻塞)
  {
    
// 检查消息队列中的消息
    PeekAndPump();
    
// do other work here
    循环中响应消息,避免循环时UI线程被阻塞
  }
}

 

相关文章:

  • 2021-09-07
  • 2022-12-23
  • 2022-12-23
  • 2022-01-16
  • 2021-08-14
  • 2021-04-16
  • 2021-10-24
猜你喜欢
  • 2021-08-05
  • 2022-12-23
  • 2022-12-23
  • 2021-12-10
  • 2022-12-23
  • 2022-02-27
  • 2022-12-23
相关资源
相似解决方案