什么是模态(Modal)
如果你面试GUI开发,或者客户端工程师,那么模态窗口与非模态窗口的区别几乎是面试必考题,不可绕过。
模态(Modal)”原先是物理计算机领域的词汇,引申到软件设计领域可以简化理解为“模式”+“状态”。你可以理解为特定模式下的某种状态。
对话框一般分为两种类型:模态类型(modal)与非模态类型(modeless)。
所谓模态对话框,就是指除非采取有效的关闭手段,用户的鼠标焦点或者输入光标将一直停留在其上的对话框。模态对话框在显示之后,就不能对同一个程序中的其它窗口进行操作交互,在窗口关闭之前,其父窗口不可能成为活动窗口的那种窗口。比如弹窗,你可以看到一直阻塞在这个画面,如果你没有关闭这个弹窗,是很难操作其他界面的。
非模态对话框则不会强制此种特性,用户可以在当前对话框以及其他窗口间进行切换。非模态对话框在显示之后,还可以对同一个程序的其它窗口进行操作交互。
MFC里的模态窗口与非模态窗口
mfc里创