Windows SDK: Which are the differences between child and owned windows?
Q: Which are the differences between child and owned windows?
A: Both child and owned windows depend on another window (named parent or owner, respectively).
This dependence implies common behaviors like staying in front of parent/owner or being destroyed when the parent/owner is destroyed.
Because of that, many people make a confusion naming "child" owned windows and "parent" owner windows.
However, there are significant differences between the two kind of windows, as follows:
Child windows
can be displayed only in the parent client area;
are moved when the parent is moved (the position relative to the parent client area desn't change);
are disabled when the parent is disabled;
CreateWindow(Ex), MoveWindow, SetWindowPos, etc take coordinates relative to parent client area;
have WS_CHILD style set;
usually, child windows are controls like buttons, edit boxes, etc or MDI child frames.
Owned windows
can be displayed anywhere in the screen;
are not moved when the owner is moved;
are not disabled when the owner is disabled;
CreateWindow(Ex), MoveWindow, SetWindowPos, etc take screen coordinates;
have not WS_CHILD style;
usually, owned windows are popup or overlapped windows.
Bookmarks