用一个线程执行BUTTON1的循环,在循环中检测标志量。

解决方案 »

  1.   

    有没有象VB中的 DOEVENTS 那样的函数?
      

  2.   

    MSG message;
    While(::GetMessage(&message, NULL, 0, 0))
    {
    ::TranslateMessage(&message);
    ::DispatchMessage(&message);
    }
      

  3.   

    BOOL  b_break=false;CMyFrmae::OnButton1()
    {
    ...
    int i;
    MSG message;
    for (i = 0;i<5000;i++)
    {
    if(::GetMessage(&message, NULL, 0, 0))
    {
    ::TranslateMessage(&message);
    ::DispatchMessage(&message);
    }
    if (b_break)break;
    }
    ...
    }
    CMyFrame::OnButton2()
    {
      //中断按钮1的FOR 循环
      b_break=true;
    }
      

  4.   

    我只是想实现这样的功能
    BOOL bFlag;
    CMyFrame::OnButton1()
    {
      bFlag = FALSE;
      for(int i=0;i<5000;i++)
      {
        if(bFlag) break;
        // do something;
      }
    }CMyFrame::OnButton2()
    {
       bFlag = TRUE;
    }
      

  5.   

    补丁一:if (b_break)
    {
    b_break=false;
    break;
    }