Control Table

[This is preliminary documentation and subject to change.]

The Control table defines the controls that appear on each dialog.

The Control table has the following columns.

Column Type Key Nullable
Dialog_ Identifier Y N
Control Identifier Y N
Type Identifier N
X Integer N
Y Integer N
Width Integer N
Height Integer N
Attributes DoubleInteger Y
Property Identifier Y
Text Formatted Y
Control_Next Identifier Y
Help Text Y

Columns

Dialog_
External key to the Dialog table, the name of the dialog.

External key to column one of the Dialog table.

Control
Name of the control. This name must be unique within a dialog but can be repeated on different dialogs. Combined with the Dialog_ column, they form the primary key to this table.
Type
The type of the control. For a list of supported control types, see Control Overview. The author can specify a custom control type.
X
Horizontal coordinate of the upper-left corner of the bounding rectangle of the control.

Non-negative numbers only.

Y
Vertical coordinate of the upper-left corner of the bounding rectangle of the control.

Non-negative numbers only.

Width
Width of the bounding rectangle of the control.

Non-negative numbers only.

Height
Height of the bounding rectangle of the control.

Non-negative numbers only.

Attributes
A 32-bit word that specifies the stylebit flags to be applied to this control. For a list of supported control stylebits, see Control Stylebits List.

Non-negative numbers only.

Property
The name of a defined property to be linked to this control. Radio button, listbox, and combobox values are tied into a group by being linked to the same property. This column is required for all active controls and is ignored for others.
Text
A string used to set the initial text contained within a control (if appropriate). If the text is too long to be displayed on the control, the string is truncated. The text string may be blank. This text can contain embedded properties. For the syntax of this string, see the MsiFormatRecord function. For the VolumeCostList control, the ListView control, the DirectoryList control, and the SelectionTree control, you can enter short descriptive text. This text will never be seen by the user, but will be read by the screen readers as the description of the given control. This field can also contain other special information specific to the given control type. For details, see the documentation for the specific control type.
Control_Next
The name of another control on the same dialog. The tab order of the controls on the dialog follow this link, and the links must form one cycle. Some controls (for example, static text) can be left out of the cycles completely, in which case this entry may be left blank.

External key to column two of the Control table.

Help
The Help strings used with the button. The text is optional. The string is divided into two parts, divided by a separator character (|). The first part of the string is used as ToolTip text (this text is shown by screen readers for controls that contain a picture). The second part is used for context-sensitive Help. The separator character is required even if only one of the two kinds of text is present.

Remarks

The integer values for x, y, width, and height are in the installer units, not dialog units. An installer unit is equal to one-twelfth the height of the system font. Coordinates for the controls are relative to the billboard.