autoSize

Type: Integer (button, OCX, and table controls), Boolean (check box, option button, label, edit mask, status line, and multimedia controls)

Availability: Read or write at any time

The autoSize property determines whether a control is automatically resized to fit its contents. The following example shows the use of the autoSize property.

cb_autoSize_click(checkbox: CheckBox input) updating;
begin
    multimedia.autoSize := checkbox.value;
end;

The autoSize property settings for Label controls are listed in the following table.

Value Description
true Automatically resizes the control to fit its contents.
false Keeps the size of the control constant (the default). Contents are clipped when they exceed the area of the control.

When the autoSize property for a Label control is set to true, the setting of the wordWrap property also affects the meaning.

The following table lists the results on the Label class autoSize property of setting the wordWrap property.

Value Result
false Text is placed in a single line.
true Current width of the control is used to size the text using word wrap. This adjusts the height of the control to fit the text. If a single word cannot fit within the width, the label is widened to accommodate that word. If there is no text, the autoSize property is ignored.

For Button controls, this property determines whether the picture of the button is resized to fit the button. The autoSize property settings for Button controls are listed in the following table.

Button Class Constant Value Description
AutoSize_None 0 No resize of the button picture (the default).
AutoSize_Button 1 Button picture is proportionally resized to fit the button.
AutoSize_Picture 2 Button is resized to fit the picture.

When the value of the autoSize property for a Button control is set to AutoSize_None (0) or AutoSize_Button (1), the image is displayed to the left of the caption in the space remaining. (The caption takes precedence). The size of the icon selected from the assigned icon image is now based on the client height of the button.

When the value is AutoSize_None (0), the image is not scaled and is clipped to the area remaining after the caption is inserted. When the value is AutoSize_Button (1), the image is resized proportionally in the area remaining after the caption is inserted.

When the value of the autoSize property for a Button control is set to AutoSize_Picture (2), the non-border area of the button is set to the size of the picture set in the picture property. Only the picture is displayed; the caption of the button is not displayed.

If the picture property is not set, this option is ignored. This option is ideal for creating toolbar buttons that display only an image. If the picture image includes a border, turn off the borderStyle property of the button, to avoid duplicate border images.

The autoSize property settings for Ocx controls are listed in the following table.

Ocx Class Constant Value Description
AutoSize_Control 0 Resizes the ActiveX control to the size defined by Painter or your logic (the default)
AutoSize_Object 1 Resizes the ActiveX control to the size of the OLE object

The autoSize property settings for CheckBox and OptionButton controls are listed in the following table.

Value Description
true

The control is resized to fit the content (the default); that is, the width is the size of the icon displayed plus the width of the text, and the height is the minimum required to show the content.

false The control height and width are set in the JADE Painter or by logic, except if the height is less than size required to fit the content, in which case the height becomes the minimum required to show the content vertically. If the height is larger than required, the content is centered vertically.

The autoSize property settings for StatusLine controls are listed in the following table.

Value Description
true The height of the status line is adjusted according to the height of any controls placed inside the status line and the font size of the caption property for the status line.
false The height of the status line is set by you (the default).

If the value is false, the status line control can be resized vertically; if true, the control cannot be manually resized. When a child control is resized, the status line control is also resized.

When the value of the StatusLine control autoSize property is true:

The height of the StatusLine control is then determined by analyzing the child control as follows, to determine the maximum height required. For a child control that does not have a fixed height and has the parentAspect property with the:

The autoSize property determines whether the MultiMedia control is automatically sized according to the size of the displayed image.

The autoSize property settings for MultiMedia controls are listed in the following table.

Value Description
true The device or file being played does not have a playback image, the values of the showPlayBar, showName, showMode, and showPosition properties are false, and the control has no size and is not visible.
  The size of the control is set to the size of the displayed image (multiplied by the value of the zoom property divided by 100) plus the size of any playbar and caption. If the device or file being played does not involve a playback image, the control is not visible. If the value of the zoom property is zero (0), 100 is used.
false When the value of the zoom property is zero (0), the displayed image is stretched to fit the client area of the control. When the value of the zoom property is not zero, the control size is not affected by the size of the displayed image. Only as much of the displayed image that fits in the client area of the control is displayed.

The autoSize property settings for Table controls are listed in the following table.

Table Class Constant Value Description
AutoSize_None 0 No automatic sizing
AutoSize_Row 1 Row resized to fit the table
AutoSize_Column 2 Column resized to fit the table
AutoSize_Both 3 Row and column resized to fit the table (the default)
AutoSize_ColumnMinimum 4 Column resized to the minimum
AutoSize_BothColumnMinimum 5 Both row and column resized to the column minimum

The code fragment in the following example shows the use of the autoSize property for the Table class.

table1.autoSize := comboAutoSize.listIndex - 1;

When the autoSize property for the Table control is set to:

When using the AutoSize_Both and AutoSize_Column values, if all columns fit within the client width of the table control, the width of each column is incremented so that the columns are stretched to exactly fit the table client width. If not all columns fit within the table client width, the AutoSize_Row and AutoSize_Column values are equivalent to the AutoSize_ColumnMinimum and AutoSize_BothColumnMinimum values.

Use the JadeTableColumn class maxColumnWidth property to specify a maximum width (in pixels) for a column when determining the width during the column width auto‑size processing.

If you require both column and row automatic sizing, the width of the column is established, followed by the height of the row. When the autoSize property is set to AutoSize_None (0), cells have a minimum width of 50 pixels.

When the property is set to a Table class constant representing a non-zero value, cells have a minimum width of 20 pixels, even when they are empty. If a user resizes a row or a column or your JADE logic specifically sets the row height or column width, the automatic sizing of the row or column no longer applies at any subsequent change of cell contents.

The autoSize property of the JadeEditMask class determines whether a control is automatically resized to fit its contents. If the value of autoSize is false (the default), the height of the child text box or text boxes is set to the height of the edit mask control. If the last field is a text box child, it has its width expanded to the right edge of the control. Any labels that are defined in the mask are centered vertically in the control. However, if the top position or the height of a text box child is set by the mask property, the text box children are automatically sized except for any specific width or height settings defined in the mask for a child. If there is insufficient room to show a full single line of text in a child text box, the height of the control is expanded regardless of the setting of the autoSize property.

If the value of autoSize is true, the size of the control is determined by the maximum size and height of the literal and text data that can be entered into that field according to the value of the mask property (a single line of text).

The size is based on the largest character that can be entered into each character position, which generally means that the control is larger than required. For example, a mask of three alphabetic characters WWW takes up considerably more space than iii.

In addition, the size can be larger than required because the prompt character requires more space than the character for which it is prompting. The fields of the control are always defined according to the maximum size of the characters in that field, regardless of the value of the autoSize property.