程序需要很长时间执行循环,在这个期间用户可能会用鼠标点击toolbar中的图标命令,
在程序执行完循环后就会执行用户在循环期间点击的命令,不知道怎样在程序正在执行
循环的时候使输入的命令无效,谢谢

解决方案 »

  1.   

    本来就是这样的
    你执行循环的时候点toolbar的部分是在循环后执行的只要你不用多线程
      

  2.   

    先定義﹕MSG message;
    然后在你的循環中加這個試試﹕if (::PeekMessage(&message,NULL,0,0,PM_REMOVE))
    {
      message.message=0;
    }
      

  3.   

    我忘了说了,程序是用mfc写的
    另外,有没有API函数可以将消息队列中的消息全部kill掉,如果有的话就好办了,呵呵
    不过我查msdn中好像没有这样的函数阿sgnaw(李逍遥)的第一个办法是不错阿,我试了一下,拔掉鼠标和键盘后果然解决问题了,哈哈
    第二个办法也不错,不过我不想在循环的时候使我的toolbar按钮变灰
      

  4.   

    是啊!把它们都Disable掉就可以了