Dialog control conditions
Control conditions allow you to dynamically update the enabled/disabled state of a control, based on a conditional expression that is automatically re-evaluated whenever one of its parts changes.
If you define a control condition for a control, it will be evaluated just before the parent dialog is shown.
- If the condition evaluates to true, the control is shown normally.
- If the condition evaluates to false, the control is shown in its disabled (grayed-out) state.
The condition is also automatically re-evaluated if any of its parts changes while the parent dialog box is open; this allows dynamic control state changes. For example, this is how the Next PushButton control is re-enabled in the predefined LicenseDlg dialog box when the user clicks the I agree... CheckBox control (and disabled again if the I agree... box is cleared): it is linked to the UILicenseAgreed variable that is set or reset by the I agree... check box.
Tip: You can also change a control's visibility or enabled state by using a Set Window State action as an event handler elsewhere in the same dialog or as an action in any action sequence that runs while the parent dialog box is open.
| Method | Remarks |
|---|---|
| Control condition attribute | Control conditions update the enabled/disabled state of their control with a single condition. InstallMate automatically re-evaluates the condition whenever a referenced variable changes. This allows for dynamic updating of the control's state. |
| Set Window State action | Set Window State actions can be executed in dialog event handlers or as part of action sequences. They can show, hide, enable, disable, minimize, maximize, make read-only, make read/write or send messages to the control (or any other installer window). Set Window State actions may or may not be conditional, just like any installer action. |