Components generate their own HTML, but the surrouding document is generated by a layout manager. IntraWeb contains two layout managers: Form Layout Manager, and Template Layout Manager (TIWLayoutMgrHTML). Developers can also create custom layout managers.

Template Layout Manager

Template Layout Manager merges the components output into an HTML template. The HTML template is used for the surrounding structure. No x, y positioning is emitted and all positioning must be specified using flow (static) or explicit positioning in the template. Some features are not compatible with the Template Layout Manager.

Form Layout Manager

Form Layout Manager constructs the whole document on the fly. It controls the positioning of the controls, as the controls only emit their own HTML which does not include positioning information as this would conflict with Template Layout Managers, and possibly custom layout managers.

Each control is called to output its HTML and its output is collected into a TIWPageContext40 instance. When call information has been collected, the TIWPageContext40 is used by the layout manager to emit the final HTML.

This is done starting with the TIWLayoutMgrForm.ProcessControls (emits styles, makes reference to controls) and then the TIWLayoutMgrForm.Process (emits HTML) method.

TIWLayoutMgrForm.ProcessControls makes contexts for each control and calls RenderComponents for each container. TIWLayoutMgrForm.ProcessControls calls ProcessControl for each control which emits style information for the location in the HTML header.