This is the main difference between the windows with and without an ancestor. All other window attributes, such as X, Y, Width, Height, BackColor, etc. appear in the syntax of the descendant window only if you override the ancestor values. Note that this declaration appears in the window description twice. If you use an Object Library, some of your objects are already inherited from the generic ones. In this case, when you add an additional level to the inheritance hierarchy, you also need to change the name of an ancestor in the descendant window syntax.
Window create and destroy events .
On the create event PowerBuilder creates all controls in the window, and on the destroy event destroys them. PowerBuilder calls the ancestor scripts for the create and destroy events exactly the same way as in standard PowerScript Language. In a general case, the ancestor window may have its own controls that will be inherited to the descendants. If you use multilevel inheritance, your final window will collect controls from all the ancestors. In each next descendant PowerBuilder starts to add new controls from the upper bound of the accumulated Control array plus 1.