关于自己实现模态对话框时,禁止窗口和激活窗口的正确顺序

显示模态到取消模态,所有者窗口显示会“闪烁”的原因:

当销毁模态对话框时,这个对话框刚好是拥有前台焦点的窗口。现在,窗口管理器需要找到其它的窗口并把前台焦点交给这个窗口。窗口管理器会首先试着把前台焦点交给对话框的所有者窗口,但此时这个窗口却是“禁用”的,因此窗口管理器跳过所有者窗口,并继续查找其他没有被禁用的窗口。

因此,销毁模态对话框的正确顺序是:

1、重新激活所有者窗口

2、销毁模态对话框