Selecting a Skin to Use at Run Time

The Skin Selection dialog enables users of runtime applications to select the skin that they want to use during the current runtime work session. For details about enabling runtime users to define or maintain JADE skins that you have provided, see "Defining and Maintaining JADE Skins". The following example shows the creation and use of the JadeSkinSelect form from a click event method in user application logic.

selectSkin_click(menuItem: MenuItem input) updating;
vars
    form : JadeSkinSelect;
begin
    create form;
    form.showModal;
epilog
    delete form;
end;

When using the Skin Selection dialog:

Use the app.getSkinCollection method to obtain the collection of skins and display a list of the names of each skin object if you want to implement your own selection scheme in your applications. Your user application needs only to create and modally show this form, shown in the following image.

To select a skin for use in the current work session

  1. Select the skin from the list that is displayed in the Select Skin combo box. The option buttons, check boxes, and buttons then display the presentation offered by the selected skin.

  2. Click the Show Menu? check box to view the effects of a skin without a menu. By default, a check mark symbol (✓) is displayed in this control, indicating that the menu line is displayed on the Skin Selection dialog.

  3. To apply the selected skin to all forms in the current application during the current work session, click the Apply button. Alternatively, perform one of the following actions.

The following image shows an example of the Skin Selection dialog using a skin.

The JADE executable calls the DisableProcessWindowsGhosting() Microsoft API on initiation, which disables Windows’ ghosting so that a non-responsive form does not show Not Responding and have the ghosting effect applied by Windows.

The form will still not automatically paint itself when the presentation thread is busy processing JADE logic. Windows automatically redraws that part of the form or forms that need refreshing from a saved copy of the previously painted image or images.

You can call the following methods while performing a long processing loop to address the repainting issue.