A form can be displayed as a free standing form, for example by show !!form free. It then has no parent so it will not disappear when the form which caused it to be displayed is hidden.
When one form causes another form to be displayed, such as when a button with the FORM keyword is pressed or a gadget callback executes a
show !!form command the result is a
child form.
A form can have many child forms (and grand-children…) but a child form has only one parent - the form which caused the child form to be displayed. The nest of related forms is called a Form Family.
If you press the OK button of a parent form, the system in effect presses the
OK buttons on each of the child forms, 'youngest' first, invoking their
OKCALL callbacks. The parent form and all child-forms are hidden and the Form Family then ceases to exist.
If you press the CANCEL button or use the window's
CLOSE controls, the system in effect presses the
CANCEL buttons of each of the child forms, 'youngest' first, invoking their
CANCELALL callbacks, and all the forms in the Form Family are hidden.
The action of RESET and
APPLY buttons does not affect family members.