我编写一个监控软件,如果有故障则跳出modal对话框提示;我正在双击某个按钮,此时刚好跳出对话框。结果是双击按钮的事件没有响应,modal对话框提示也获取不到鼠标了,即鼠标不能关闭modal对话框了,鼠标可以移动,但是不能做任何操作了。我按下alt+ctrl+delde则鼠标又可以操作了,或者双击任务栏上的程序以后也可以。请问这是怎么回事?谢谢

解决方案 »

  1.   

    把modal对话框的提示改成异步消息发送,就不会影响主线程了。
      

  2.   

    谢谢小伟.对话框是在ontimer 中以dlg.DoModal()的形式跳出的(每500ms检测一次,有新的故障就跳出),应该如何改成异步消息发送呢?谢谢
      

  3.   

    为什么一定要用模式对话框弹,而不用messagebox?
      

  4.   

    鼠标仍然被按钮所捕获,但却点不到按钮上。恩下组合键相当于切换到另外一个程序。鼠标状态又被重设。所以又好了。
    在domodal对话框的Oninitdialog里加上SetCapture?退出dlg的时候releasecapture
    以上仅属于我的推测
      

  5.   

    allenhiman 说得有道理,应该releasecapture再modal.解决了