今天在写程序时发现一个问题,模式对话框不宜调试,就是说当你在程序中弹出一个模式对话框,然后在对话框的DoModal()之后紧接着打了一个断点,想跟踪,但是我试了好多次都是程序反应奇慢无比,好象是死机了似的,刚开始是以为机器有有毛病了,重启动了几次还是这样,后来我又想了想,才恍然大悟,原来是模式对话框捣的鬼,是由于DoModal()将程序挂起,等待用户操作的消息,这样当进入断点时由于程序主窗口可能还没有接受到Domodal()之后的消息,而由于调试窗口激活了而没有等待消息发送成功就切换了窗口,但是主窗体还在等待消息,因为DoModal()中用的是SendMessage,如果是PostMessage就不会有这种情况了,呵呵,要是PostMessage的话,那又成了非模式对话框了。
模式对话框不宜调试
最新推荐文章于 2020-12-13 23:49:57 发布