Minimum and Maximum Control Dimensions

All controls have four properties that can be used to describe their minimum and maximum allowed dimensions. Layout managers can use these properties to determine how to size a control. The properties are:

MIN-HEIGHT The control's minimum height.
MAX-HEIGHT     The control's maximum height.
MIN-WIDTH The control's minimum width.
MAX-WIDTH The control's maximum width.

Each of these properties take a numeric value using the same units as the control's SIZE (width) and LINES (height) properties. Each property has a default value of zero. A value of zero for MAX-HEIGHT and MAX-WIDTH means no maximum.

A layout manager uses these values to limit how much it will modify a control's dimensions. A particular layout manager is free to interpret these values to suit its purposes. The resize manager will treat them as absolute limits.

For example, when creating a multiline entry field, you might want to limit its vertical dimension to have both a minimum and maximum height. One implementation might look like this:

DISPLAY ENTRY-FIELD, MULTILINE
      LINE 5, COL 10 
      SIZE 50 CELLS, LINES 10 CELLS
      MIN-HEIGHT = 1.5
      MAX-HEIGHT = 20

In this example, the layout manager will not change the height of the entry field to be less than 1.5 cells or more than 20 cells.

The four properties apply to all controls. Like all property names, they are not reserved words. Therefore, you may use these words as user-defined names anywhere in your program where property names are not allowed (that is, outside of the Screen Section and the scope of DISPLAY, MODIFY, and INQUIRE statements).

Typically, you would start out by leaving the properties at their default values. The default values do not constrain the control's dimensions. Then, to address a particular layout problem, you would set one or more of the properties to resolve the problem. For example, you may want to set a minimum height for a control if the user can resize the window such that the unconstrained control is reduced to a height of zero. Or, you may want to limit an entry field to show no more than the total of lines of data it allows.