Building Aero Glass Dialogs
Most setup dialogs automatically transition between VistaGlass control, your dialog will work perfectly and no additional effort is required on your part.
, (both available beginning with Windows Vista), (available beginning with Windows XP) and (available beginning with Windows XP) Windows user interfaces, rendering correctly on all four automatically. If your dialog does not contain aHowever, if you are using the
control, and you have enabled regions, then additional effort on your part may be necessary to ensure your dialog supports all four Windows themes - taking advantage of advanced features such as where available (rendering some or all of the dialog on ), but still looking good on older Windows versions where composition may be unavailable.When developing dialogs with
regions, always be sure to test on all four Windows themes:- : With regions (works on Windows Vista or newer).
- : With regions that look different from the rest of the dialog, but are not translucent (works on Windows Vista or newer).
- : Without regions, but with support for themed rendering of dialog controls (works on Windows XP or newer).
- : Without regions, and without theming for controls (works on Windows XP or newer).
Best Practices
You may use the pre-defined variable to determine if the or theme is active, and adjust the visibility of your dialog controls accordingly.
This way, you may build dialogs that look different (and at their best) based on whether
regions (even if only "fake") are visible or not, which is the most major consideration when building dialogs that leverage the Aero user interface.Emulating the Aero Wizard Design
You may also design your dialogs such that no duplicate controls are needed. InstallAware strives to maintain your freedom in designing dialogs with as little manual overhead as possible, while allowing you full use of your creativity and still being standards-compliant.
This is made easier since InstallAware automatically updates some dialog elements for universal Windows theme compatibility. An important standard introduced with the
user interface is the , for which InstallAware provides extensive support.InstallAware assumes that you are trying to build an
compliant dialog if:- The control GlassEnabled property is
- The dialog has its BorderStyle property set to
- The control GlassTop property is larger than
- The BorderStyle property of the dialog will be changed at runtime to . Dialog re-sizing will be prevented programmatically. The dialog will be grown slightly to account for the new larger borders while keeping the client area the same. The new border style matches the style used by dialogs with the theme.
- A control will be created at runtime, displaying a single line at the ending of the top region. This matches the color used by dialogs with the theme.
- If the dialog has its Color property set to (the color of dialog backgrounds under the or themes), the Color property will be set to at runtime (the color of dialog backgrounds under or themes).
- A control will be created at runtime, displaying a single line at the ending of the top region, but in a different color than for the theme.
- If the control GlassEnabled property is ; and the control GlassTop property is larger than , or the control SheetOfGlass property is , then the dialog caption and icon will not be rendered on the form caption.
- If the control GlassEnabled property is , all regions on the dialog will be rendered as regions (regions of alternate color on the form).
- If the control Glow property is , because the glow effect is unavailable under the themes in question, the label will be rendered in Bold typeface instead.
- If the control GlassEnabled property is , the dialog may be moved directly by dragging on the regions, in addition to the default behavior of moving the dialog by dragging the dialog title bar.
- Where possible, use controls from this tab as these controls have been designed from the ground up to work well on .
- If your desired control is not available on this tab, then check the other tabs.
- Do not use a control from one of the other tabs when a substitute is already available on the tab.
If all of the above conditions are valid, then InstallAware will automatically make the following runtime changes for universal theme compatibility and for maintaining full design parity with the
look on all Windows themes, as has been implemented in Microsoft's own .When the Basic Theme is Active
When Windows is Older Than Windows Vista, or the Classic Theme is Active
The intention behind all these changes is to exactly mirror how
windows are rendered by Windows when itself disabled but one of the , , or themes are active.Additional Compatibility Heuristics
InstallAware also provides additional theme compatibility heuristics, which are useful not only in
design but helpful with design overall.When the Aero Theme or Basic Theme is Active
When the Basic Theme is Active
When Windows is Older Than Windows Vista, or the Classic Theme is Active
All Themes
Preferred Dialog Controls
The dialog editor now displays a new tab on the component palette.