From Dabo Wiki
Jump to: navigation, search

dGridSizer lays out your UI elements in a two-dimensional grid arrangement. Each cell in a given row has the same height; likewise, each cell in a given column has the same width. But row heights can vary, as well as column widths. Objects controlled by the sizer are sized and positioned according to the values set when they are added to the sizer.

Sizers can be nested within other sizers to create very complex layouts. Grid sizers can be nested inside of one-dimensional (box) sizers, and box sizers can likewise be nested in grid sizer cells.

Sizers are not actual physical objects in the UI; rather, they are best thought of as hierarchical rules that govern the layout of forms in the UI. Controls are physically contained by the form in which they are created, and some controls, such as dPanel?, can contain other controls. Sizers are not a part of this containership. Rather, they are assigned to a container in order to govern how the object contained within are to be postioned and sized. When a container receives a Resize message, it tells its Sizer to re-caclulate the size and position of the items under its control to fit the new container size.