分类:
2009-03-27 18:27:47
InstallShield 2009 » InstallScript Language Reference
The AskOptions function formats and displays a dialog that prompts the end user to select one or more options. The dialog displays up to nine selection controls—either check boxes or option buttons—depending on the value of nValue.
The default title for this dialog is Select Features. To change the contents of the title bar, call before calling AskOptions.
Note
You cannot use the function in conjunction with the AskOptions function. By default, the dialog appears in the center of the desktop, unless the background window mode is enabled. If the installation is in window mode, the dialog appears in the center of the background window.
AskOptions ( nValue, szMsg, szText1, bvCheck1, szText2, bvCheck2[, szTextn, bvCheckn] [,..., ...] );
Parameter |
Description |
---|---|
nValue |
Specifies the type of controls to display. Pass one of the following predefined constants in this parameter:
|
szMsg |
Specifies the message to display in the dialog. You can use this message to describe the options and/or ask the user to choose one or more options. If the message is too long for one line, use newline escape sequences ( \n ) to insert line breaks. Your operating system dictates the maximum message string length.By default, the display of szMsg text is limited to two lines by the AskOptions dialog resource in _Isres.dll. To display more than two lines of szMsg text, you can create a custom dialog from the AskOptions dialog. |
szText1 |
Specifies a text label to display next to the first check box or option button. The maximum number of characters that can be displayed depends on the font you use; be sure to check that the string specified fits in the static text field of the dialog. If the string does not fit, either shorten it or call instead. To create an accelerator key, insert an ampersand (&) before the character you want to designate for that purpose. The character is displayed with an underline to indicate its function. For example, to make Alt + C the accelerator key for Custom, pass "&Custom"; to make Alt + S the accelerator key for Custom, pass "Cu&stom." |
bvCheck1 |
Specifies the initial status of the first check box or option button when the dialog is opened; returns the status of the first check box or option button when the dialog is closed. The following constants are passed and returned in this parameter:
|
szText2 |
Specifies a text label to display next to the second check box or option button. The maximum number of characters that can be displayed depends on the font you use; be sure to check that the string specified fits in the static text field of the dialog. If the string does not fit, either shorten it or call instead. Create an accelerator in the same manner as you did for szText1. |
bvCheck2 |
Specifies the initial status of the second check box or option button when the dialog is opened; returns the status of the second check box or option button when the dialog is closed. The following constants are passed and returned in this parameter:
Up to seven additional options can be defined. Each additional option is indicated by a pair of parameters—a string parameter that defines a label and a number variable that indicates the state of the option when AskOptions returns. To set the initial state of an option, assign TRUE or FALSE to the number variable before calling AskOptions. If nValue is EXCLUSIVE and the initial state of more than one option is set to TRUE, AskOptions preselects the first option in the parameter list that is set to TRUE. |
Return Value |
Description |
---|---|
NEXT (1) |
Indicates that the end user clicked the Next button. The states of the controls are returned in the individual bvCheck variables. |
BACK (12) |
Indicates that the end user clicked the Back button. The states of the controls are returned in the individual bvCheck variables. |
To view an example of this or other dialogs for your installation, use the Dialog Sampler. In InstallShield, on the Tools menu, point to InstallScript, then click Standard Dialog Sampler or Skinned Dialog Sampler.
See Also
InstallShield Help Library
AskOptions ExampleInstallShield 2009 » InstallScript Language Reference
Note To call this function in a Basic MSI setup, you must first create a custom action for the entry-point function, execute the custom action in a sequence or as the result of a dialog's control event, and then build the release. /*-----------------------------------------------------------*\ * * InstallShield Example Script * * Demonstrates the AskOptions function. * * The AskOptions dialog is displayed twice. First, it is * displayed with check boxes; then it is displayed with option * buttons. The example shows the maximum number of options * allowed--nine. * \*----------------------------------------------------------*/ // Include Ifx.h for built-in InstallScript function prototypes. #include "Ifx.h" export prototype ExFn_AskOptions(HWND); function ExFn_AskOptions(hMSI) STRING szMsg, szText1, szText2, szText3, szText4, szText5; STRING szText6, szText7, szText8, szText9; NUMBER nReturn, nValue, nvCheck1, nvCheck2, nvCheck3, nvCheck4; NUMBER nvCheck5, nvCheck6, nvCheck7, nvCheck8, nvCheck9; begin szMsg = "Select from the options below."; szText1 = "Option 1"; szText2 = "Option 2"; szText3 = "Option 3"; szText4 = "Option 4"; szText5 = "Option 5"; szText6 = "Option 6"; szText7 = "Option 7"; szText8 = "Option 8"; szText9 = "Option 9"; nvCheck1 = TRUE; nvCheck2 = FALSE; nvCheck3 = FALSE; nvCheck4 = FALSE; nvCheck5 = FALSE; nvCheck6 = FALSE; nvCheck7 = FALSE; nvCheck8 = FALSE; nvCheck9 = FALSE; // Display the check box (NONEXCLUSIVE) dialog. nValue = NONEXCLUSIVE; AskOptions (nValue, szMsg, szText1, nvCheck1, szText2, nvCheck2, szText3, nvCheck3, szText4, nvCheck4, szText5, nvCheck5, szText6, nvCheck6, szText7, nvCheck7, szText8, nvCheck8, szText9, nvCheck9); // Display the option button (EXCLUSIVE) dialog. nValue = EXCLUSIVE; AskOptions (nValue, szMsg, szText1, nvCheck1, szText2, nvCheck2, szText3, nvCheck3, szText4, nvCheck4, szText5, nvCheck5, szText6, nvCheck6, szText7, nvCheck7, szText8, nvCheck8, szText9, nvCheck9); end;
| | |
Popup | ||||