在MFC中,窗口甚多,很容易混淆。最重要的是下面两组概念一定要非常清晰。
1.父窗口和所有者窗口。
区别:
(1)Z-ORDER。父窗口的Z-ORDER和子窗口的Z-ORDER是相同的。而所有者的Z-ORDER和受控窗口的Z-ORDER是不同。一般情况下,受控窗口的Z-ORDER比所有者的Z-ORDER大。
(2)绘制区。子窗口只能在父窗口的绘制区内绘制,而受控窗口可以在所有者窗口的绘制区外绘制。
(3)是否为顶级窗口。父窗口不一定为顶级窗口,父窗口和子窗口是个相对的概念。而所有者窗口一定为顶级窗口。
2. 重叠窗口和弹出窗口。
它们都是顶级窗口。
区别:
(1)前者默认带有工具栏和菜单栏,而后者没有。
(2)前者可以采取默认尺寸和位置,而后者不能。