If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register or Login
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Windows SDK: What is a top-level window?

A: A top-level window is a window that is not child, i.e. it has not WS_CHILD style set.

Notes

unlike the child windows, a top-level window can be displayed anywhere in the screen;

many definitions state that a top-level window is "a window that has no parent";
that is correct but can lead in a confusion: many people think that every window which is created passing a valid hWndParent in CreateWindow(Ex) "has a parent" then, according to the definition it is not top-level;
in fact hWndParent may be either a handle to parent or owner window;
if hWndParent is a valid window handle and WS_CHILD style is not set, then we have a top-level owned window;

a top-level window can or can not be owned but is never a child; further we can say that it can have an owner but never has a parent.

top-level windows can be either overlapped windows (having WS_OVERLAPPED style and generally used as application main window) or popup windows (having WS_POPUP style, usually temporary windows like message boxes and dialogs);

the coordinates used in CreateWindow(Ex), MoveWindow, SetWindowPos, and so on are always scren coordinates (relative to top-left corner of the screen).