为什么MFC中的模式对话框实际上是内部无模式的



在阅读这篇文章后,我的miind中出现了这个问题:http://www.codeproject.com/Articles/3911/The-singular-non-modality-of-MFC-modal-dialogs.他提到MFC中的模态对话框不是严格意义上的模态对话框,而是作为一个无模态对话框(内部)实现的,带有铃铛和口哨,使其表现为模态对话框。

具体来说,他说:

MFC命令路由机制使用消息映射的组合以及实现其功能的虚拟功能和真正的模态对话框将完全破坏此机制,因为这样模态消息循环控制在MFC命令路由机制的范围之外

有人能解释一下这一说法吗?如果他们试图实现一个真正的模态对话框,那么会出现什么问题的例子将大大澄清问题。

模式对话框会停止消息循环,但仍必须有一个消息循环来处理对话框的事件。因此,模态对话框只是一个具有自己内部消息循环的非模态对话框。

最新更新