A window may have an owner as well as having a parent. While a window's relationship to its parent is mainly concerned with display, the relationship with its owner is concerned primarily with function. The owner is assumed to have some interest in events that take place within a window. For example, a frame window is the parent of its frame control windows (icons, menu bar, etc.,) and is also their owner. When certain events take place, such as the user selecting an item from a menu bar, the control windows notify their owner by dispatching notification messages (the menu bar for instance, typically dispatches a message of class WM_COMMAND). Thus the owner receives notification of the event, and may perform some action in response.
The concept of ownership is usually applied to system-defined window classes such as control windows. Since the window procedures for these window classes are defined by Presentation Manager rather than by the application, it is necessary for a control window to notify its owner of any event that may be significant to the owner.
There is typically no owner relationship between frame and client windows. Messages received by the frame window that are deemed to be of possible interest to the client window are passed to the client window automatically by the system-supplied frame window procedure, by virtue of the predefined parent/child relationship between the frame and client windows.
Should application requirements dictate, the application developer may establish an owner relationship between any two windows within his/her application, provided those windows are created by the same thread. Owner relationships are not permitted between windows created by different threads.